[INFO] cloning repository https://github.com/FauxFaux/badchat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FauxFaux/badchat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFauxFaux%2Fbadchat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFauxFaux%2Fbadchat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 24a6a92c09f312d4f8123aa5e96d1f9164f8882b
[INFO] checking FauxFaux/badchat against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFauxFaux%2Fbadchat" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FauxFaux/badchat
[INFO] finished tweaking git repo https://github.com/FauxFaux/badchat
[INFO] tweaked toml for git repo https://github.com/FauxFaux/badchat written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FauxFaux/badchat on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FauxFaux/badchat 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded atomic v0.5.3
[INFO] [stderr]   Downloaded mirai-annotations v1.12.0
[INFO] [stderr]   Downloaded hashlink v0.9.0
[INFO] [stderr]   Downloaded rustls-pki-types v1.4.1
[INFO] [stderr]   Downloaded bincode_derive v2.0.0-rc.3
[INFO] [stderr]   Downloaded json5 v0.4.1
[INFO] [stderr]   Downloaded bunyarrs v0.2.0
[INFO] [stderr]   Downloaded const-random v0.1.18
[INFO] [stderr]   Downloaded pest_generator v2.7.9
[INFO] [stderr]   Downloaded ucd-trie v0.1.6
[INFO] [stderr]   Downloaded virtue v0.0.13
[INFO] [stderr]   Downloaded bincode v2.0.0-rc.3
[INFO] [stderr]   Downloaded pest_derive v2.7.9
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded pest_meta v2.7.9
[INFO] [stderr]   Downloaded aws-lc-rs v1.6.4
[INFO] [stderr]   Downloaded ordered-multimap v0.6.0
[INFO] [stderr]   Downloaded winnow v0.6.6
[INFO] [stderr]   Downloaded rust-ini v0.19.0
[INFO] [stderr]   Downloaded pest v2.7.9
[INFO] [stderr]   Downloaded dlv-list v0.5.2
[INFO] [stderr]   Downloaded dns-lookup v2.0.4
[INFO] [stderr]   Downloaded rustls v0.23.4
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.14.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9aa3690304459960bedc6980ef220e613b34e6bebb3d19ad40b8b4b189a0f1ea
[INFO] running `Command { std: "docker" "start" "-a" "9aa3690304459960bedc6980ef220e613b34e6bebb3d19ad40b8b4b189a0f1ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9aa3690304459960bedc6980ef220e613b34e6bebb3d19ad40b8b4b189a0f1ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9aa3690304459960bedc6980ef220e613b34e6bebb3d19ad40b8b4b189a0f1ea", kill_on_drop: false }`
[INFO] [stdout] 9aa3690304459960bedc6980ef220e613b34e6bebb3d19ad40b8b4b189a0f1ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49b65c703eecebbc000cf50672d3626b49f99d0fd96001844ef121b459f881e2
[INFO] running `Command { std: "docker" "start" "-a" "49b65c703eecebbc000cf50672d3626b49f99d0fd96001844ef121b459f881e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling cc v1.0.94
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling dunce v1.0.4
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling aws-lc-rs v1.6.4
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking mirai-annotations v1.12.0
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking rustls-pki-types v1.4.1
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]     Checking winnow v0.6.6
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustls v0.23.4
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling getrandom v0.2.14
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]    Compiling virtue v0.0.13
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking resolv-conf v0.7.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking hashlink v0.9.0
[INFO] [stderr]     Checking gethostname v0.4.3
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking ordered-multimap v0.6.0
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking atomic v0.5.3
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking base64 v0.22.0
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking rust-ini v0.19.0
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking dns-lookup v2.0.4
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]    Compiling bincode_derive v2.0.0-rc.3
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]    Compiling aws-lc-sys v0.14.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling pest v2.7.9
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling pest_meta v2.7.9
[INFO] [stderr]    Compiling pest_generator v2.7.9
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling pest_derive v2.7.9
[INFO] [stderr]     Checking hickory-proto v0.24.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking rustls-webpki v0.102.2
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]     Checking bincode v2.0.0-rc.3
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking toml_edit v0.22.9
[INFO] [stderr]     Checking bunyarrs v0.2.0
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking hickory-resolver v0.24.0
[INFO] [stderr]     Checking toml v0.8.12
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]     Checking badchat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `read_message`
[INFO] [stdout]   --> src/bad/two.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::lined::{read_message, FromLined, MessageIn, MessageOut, ToLined, Uid};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_message`
[INFO] [stdout]   --> src/bad/two.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::lined::{read_message, FromLined, MessageIn, MessageOut, ToLined, Uid};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bad/two.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut resolve = tokio::spawn(async move { resolver.reverse_lookup(host.ip()).await });
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bad/two.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut resolve = tokio::spawn(async move { resolver.reverse_lookup(host.ip()).await });
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/bad/mod.rs:757:9
[INFO] [stdout]     |
[INFO] [stdout] 752 | /         loop {
[INFO] [stdout] 753 | |             let value = read_message(&mut buf, &mut read).await?;
[INFO] [stdout] 754 | |             from_lined_tx.send(value).await?;
[INFO] [stdout] 755 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 756 |
[INFO] [stdout] 757 |           Ok::<(), anyhow::Error>(())
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/bad/mod.rs:757:9
[INFO] [stdout]     |
[INFO] [stdout] 752 | /         loop {
[INFO] [stdout] 753 | |             let value = read_message(&mut buf, &mut read).await?;
[INFO] [stdout] 754 | |             from_lined_tx.send(value).await?;
[INFO] [stdout] 755 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 756 |
[INFO] [stdout] 757 |           Ok::<(), anyhow::Error>(())
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bad/mod.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     let mut system = System::new()?;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bad/mod.rs:745:25
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let (from_lined_tx, mut from_lined_rx) = tokio::sync::mpsc::channel::<FromLined>(128);
[INFO] [stdout]     |                         ----^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bad/mod.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     let mut system = System::new()?;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bad/mod.rs:745:25
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let (from_lined_tx, mut from_lined_rx) = tokio::sync::mpsc::channel::<FromLined>(128);
[INFO] [stdout]     |                         ----^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deadline`
[INFO] [stdout]   --> src/bad/two.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let deadline = sleep(deadline - Instant::now());
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deadline`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deadline`
[INFO] [stdout]   --> src/bad/two.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let deadline = sleep(deadline - Instant::now());
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deadline`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bad/mod.rs:385:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             PreAuthOp::Done => {
[INFO] [stdout]     |             --------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 385 |             PreAuthOp::Done => vec![Output {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bad/mod.rs:385:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             PreAuthOp::Done => {
[INFO] [stdout]     |             --------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 385 |             PreAuthOp::Done => vec![Output {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]    --> src/bad/mod.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     let mut system = System::new()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]    --> src/bad/mod.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 |     let mut system = System::new()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer_addr`
[INFO] [stdout]   --> src/lined/admin.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     peer_addr: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peer_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer_addr`
[INFO] [stdout]   --> src/lined/admin.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     peer_addr: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peer_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT_LENGTH_LIMIT` is never used
[INFO] [stdout]   --> src/bad/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const INPUT_LENGTH_LIMIT: usize = 4_096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `next` are never read
[INFO] [stdout]   --> src/bad/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Users {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 48 |     data: HashMap<UserId, User>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     next: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store`, `clients`, `users`, and `resolver` are never read
[INFO] [stdout]   --> src/bad/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct System {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 53 |     store: Store,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     clients: Clients,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 55 |     users: Users,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 56 |
[INFO] [stdout] 57 |     resolver: TokioAsyncResolver,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WaitingForPong` and `Complete` are never constructed
[INFO] [stdout]   --> src/bad/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum PreAuthPing {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 62 |     WaitingForNick,
[INFO] [stdout] 63 |     WaitingForPong,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PreAuthPing` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `account` and `pass` are never read
[INFO] [stdout]   --> src/bad/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Pass {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 70 |     account: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     pass: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pass` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nick`, `pass`, `gecos`, `sending_caps`, `ping`, and `ping_token` are never read
[INFO] [stdout]   --> src/bad/mod.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct PreAuth {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 76 |     nick: Option<Nick>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 77 |     pass: Option<Pass>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 78 |     gecos: Option<(String, String)>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 79 |     sending_caps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 80 |     ping: PreAuthPing,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |     ping_token: PingToken,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PreAuth` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_client_preamble_done` is never used
[INFO] [stdout]   --> src/bad/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl PreAuth {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 85 |     fn is_client_preamble_done(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PreAuth`, `Singleton`, and `MultiAware` are never constructed
[INFO] [stdout]    --> src/bad/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | enum Client {
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 110 |     PreAuth {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     Singleton {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     MultiAware {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Client` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nick`, `host_mask`, and `channels` are never read
[INFO] [stdout]    --> src/bad/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct User {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 126 |     nick: Nick,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 127 |     host_mask: HostMask,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 128 |     channels: HashSet<ChannelId>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Req` is never used
[INFO] [stdout]    --> src/bad/mod.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Req {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FromTo` is never used
[INFO] [stdout]    --> src/bad/mod.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 | enum FromTo {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Output` is never constructed
[INFO] [stdout]    --> src/bad/mod.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | struct Output {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u` is never used
[INFO] [stdout]    --> src/bad/mod.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn u<S: ToString, I: IntoIterator<Item = S>>(
[INFO] [stdout]     |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `s2u` is never used
[INFO] [stdout]    --> src/bad/mod.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn s2u<S: ToString, I: IntoIterator<Item = S>>(to: UserId, cmd: &'static str, args: I) -> Output {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/bad/mod.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl System {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     async fn run(&mut self, mut inp: Receiver<FromLined>, out: Sender<ToLined>) -> Result<()> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_user` is never used
[INFO] [stdout]    --> src/bad/mod.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn find_user(clients: &Clients, which: UserId) -> Uid {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_client` is never used
[INFO] [stdout]    --> src/bad/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn work_client(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_single_client` is never used
[INFO] [stdout]    --> src/bad/mod.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn work_single_client(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_req` is never used
[INFO] [stdout]    --> src/bad/mod.rs:479:4
[INFO] [stdout]     |
[INFO] [stdout] 479 | fn work_req(store: &mut Store, users: &mut Users, us: UserId, req: Req) -> Vec<Output> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lookup_user` is never used
[INFO] [stdout]    --> src/bad/mod.rs:507:4
[INFO] [stdout]     |
[INFO] [stdout] 507 | fn lookup_user(users: &Users, nick: &Nick) -> Option<UserId> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `message_channel` is never used
[INFO] [stdout]    --> src/bad/mod.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn message_channel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `joined` is never used
[INFO] [stdout]    --> src/bad/mod.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn joined(store: &mut Store, users: &mut Users, us: UserId, chan: &ChannelName) -> Vec<Output> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT_LENGTH_LIMIT` is never used
[INFO] [stdout]   --> src/bad/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const INPUT_LENGTH_LIMIT: usize = 4_096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_command` is never used
[INFO] [stdout]    --> src/bad/mod.rs:608:4
[INFO] [stdout]     |
[INFO] [stdout] 608 | fn unpack_command(command: Result<Command, &'static str>) -> Result<Vec<Req>, OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrapped` is never used
[INFO] [stdout]    --> src/bad/mod.rs:660:4
[INFO] [stdout]     |
[INFO] [stdout] 660 | fn wrapped<'i, I: IntoIterator<Item = &'i str>>(it: I) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_on_boarding` is never used
[INFO] [stdout]    --> src/bad/mod.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn send_on_boarding(nick: &str) -> Vec<OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_to_message` is never used
[INFO] [stdout]    --> src/bad/mod.rs:729:4
[INFO] [stdout]     |
[INFO] [stdout] 729 | fn line_to_message(token: Uid, line: &str) -> Result<Option<Message>, OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_such_nick` is never used
[INFO] [stdout]   --> src/bad/err.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn no_such_nick<I: Ident>(ident: I, _nick: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_such_channel` is never used
[INFO] [stdout]   --> src/bad/err.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn no_such_channel<I: Ident>(ident: I, _channel: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `next` are never read
[INFO] [stdout]   --> src/bad/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Users {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 48 |     data: HashMap<UserId, User>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     next: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cap_command` is never used
[INFO] [stdout]   --> src/bad/err.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn invalid_cap_command<I: Ident>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_error` is never used
[INFO] [stdout]   --> src/bad/err.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn file_error<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `erroneous_nickname` is never used
[INFO] [stdout]   --> src/bad/err.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn erroneous_nickname<I: Ident>(ident: I, _nick: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nickname_in_use` is never used
[INFO] [stdout]   --> src/bad/err.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn nickname_in_use<I: Ident>(ident: I, nick: &Nick, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `not_registered` is never used
[INFO] [stdout]   --> src/bad/err.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn not_registered<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store`, `clients`, `users`, and `resolver` are never read
[INFO] [stdout]   --> src/bad/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct System {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 53 |     store: Store,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     clients: Clients,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 55 |     users: Users,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 56 |
[INFO] [stdout] 57 |     resolver: TokioAsyncResolver,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WaitingForPong` and `Complete` are never constructed
[INFO] [stdout]   --> src/bad/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum PreAuthPing {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 62 |     WaitingForNick,
[INFO] [stdout] 63 |     WaitingForPong,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PreAuthPing` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `account` and `pass` are never read
[INFO] [stdout]   --> src/bad/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Pass {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 70 |     account: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     pass: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pass` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_mismatch` is never used
[INFO] [stdout]   --> src/bad/err.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn password_mismatch<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChannelName` is never constructed
[INFO] [stdout]   --> src/bad/ids.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ChannelName {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]   --> src/bad/ids.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct HostMask {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 56 |     inner: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HostMask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Nick {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 60 |     pub fn new<S: AsRef<str> + ToString>(from: S) -> Result<Nick, &'static str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl ChannelName {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 72 |     pub fn new<S: AsRef<str> + ToString>(from: S) -> Result<ChannelName, &'static str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl HostMask {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new(raw_user_name: &str, host: &str) -> HostMask {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_channel` is never used
[INFO] [stdout]    --> src/bad/ids.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn valid_channel(chan: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_account` is never used
[INFO] [stdout]    --> src/bad/ids.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn valid_account(account: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_nick` is never used
[INFO] [stdout]    --> src/bad/ids.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn valid_nick(nick: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_nick_char` is never used
[INFO] [stdout]    --> src/bad/ids.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn valid_nick_char(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PreAuthOp` is never used
[INFO] [stdout]   --> src/bad/pre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum PreAuthOp {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_pre_auth` is never used
[INFO] [stdout]   --> src/bad/pre.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn work_pre_auth(message: &Message, state: &mut PreAuth) -> PreAuthOp {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_http_verb` is never used
[INFO] [stdout]    --> src/bad/pre.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn is_http_verb(word: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nick`, `pass`, `gecos`, `sending_caps`, `ping`, and `ping_token` are never read
[INFO] [stdout]   --> src/bad/mod.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct PreAuth {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 76 |     nick: Option<Nick>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 77 |     pass: Option<Pass>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 78 |     gecos: Option<(String, String)>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 79 |     sending_caps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 80 |     ping: PreAuthPing,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |     ping_token: PingToken,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PreAuth` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_client_preamble_done` is never used
[INFO] [stdout]   --> src/bad/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl PreAuth {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 85 |     fn is_client_preamble_done(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/bad/proto.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Join(&'s str, Option<&'s str>, Option<&'s str>),
[INFO] [stdout]    |     ---- ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     Join(&'s str, Option<&'s str>, Option<&'s str>),
[INFO] [stdout] 17 +     Join((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/bad/proto.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Privmsg(&'s str, &'s str),
[INFO] [stdout]    |     ------- ^^^^^^^  ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 20 -     Privmsg(&'s str, &'s str),
[INFO] [stdout] 20 +     Privmsg((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Quit(Option<&'s str>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Quit(Option<&'s str>),
[INFO] [stdout] 22 +     Quit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     CapLs(Option<&'s str>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     CapLs(Option<&'s str>),
[INFO] [stdout] 25 +     CapLs(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Other(&'s str),
[INFO] [stdout]    |     ----- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Other(&'s str),
[INFO] [stdout] 30 +     Other(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `source_nick` is never used
[INFO] [stdout]    --> src/bad/proto.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl ParsedMessage {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn source_nick(&self) -> Result<Option<Nick>, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `conn` is never read
[INFO] [stdout]   --> src/bad/store.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Store {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 16 |     conn: Connection,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `account` and `load_channel` are never used
[INFO] [stdout]   --> src/bad/store.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Store {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn account(&mut self, pass: &Pass) -> Option<i64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn load_channel(&mut self, name: &ChannelName) -> ChannelId {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_id` is never used
[INFO] [stdout]   --> src/bad/store.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn load_id<P>(tx: &Transaction, query: &'static str, params: P) -> Option<i64>
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_account` is never used
[INFO] [stdout]   --> src/bad/store.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn create_account(tx: Transaction, pass: &Pass) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_channel` is never used
[INFO] [stdout]    --> src/bad/store.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn create_channel(tx: Transaction, name: &ChannelName) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PreAuth`, `Singleton`, and `MultiAware` are never constructed
[INFO] [stdout]    --> src/bad/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | enum Client {
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 110 |     PreAuth {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     Singleton {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     MultiAware {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Client` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nick`, `host_mask`, and `channels` are never read
[INFO] [stdout]    --> src/bad/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct User {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 126 |     nick: Nick,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 127 |     host_mask: HostMask,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 128 |     channels: HashSet<ChannelId>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Req` is never used
[INFO] [stdout]    --> src/bad/mod.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Req {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FromTo` is never used
[INFO] [stdout]    --> src/bad/mod.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 | enum FromTo {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Output` is never constructed
[INFO] [stdout]    --> src/bad/mod.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | struct Output {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u` is never used
[INFO] [stdout]    --> src/bad/mod.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn u<S: ToString, I: IntoIterator<Item = S>>(
[INFO] [stdout]     |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `s2u` is never used
[INFO] [stdout]    --> src/bad/mod.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn s2u<S: ToString, I: IntoIterator<Item = S>>(to: UserId, cmd: &'static str, args: I) -> Output {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/bad/mod.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl System {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     async fn run(&mut self, mut inp: Receiver<FromLined>, out: Sender<ToLined>) -> Result<()> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_user` is never used
[INFO] [stdout]    --> src/bad/mod.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn find_user(clients: &Clients, which: UserId) -> Uid {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_client` is never used
[INFO] [stdout]    --> src/bad/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn work_client(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_single_client` is never used
[INFO] [stdout]    --> src/bad/mod.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn work_single_client(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_req` is never used
[INFO] [stdout]    --> src/bad/mod.rs:479:4
[INFO] [stdout]     |
[INFO] [stdout] 479 | fn work_req(store: &mut Store, users: &mut Users, us: UserId, req: Req) -> Vec<Output> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lookup_user` is never used
[INFO] [stdout]    --> src/bad/mod.rs:507:4
[INFO] [stdout]     |
[INFO] [stdout] 507 | fn lookup_user(users: &Users, nick: &Nick) -> Option<UserId> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `message_channel` is never used
[INFO] [stdout]    --> src/bad/mod.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn message_channel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `joined` is never used
[INFO] [stdout]    --> src/bad/mod.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn joined(store: &mut Store, users: &mut Users, us: UserId, chan: &ChannelName) -> Vec<Output> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_command` is never used
[INFO] [stdout]    --> src/bad/mod.rs:608:4
[INFO] [stdout]     |
[INFO] [stdout] 608 | fn unpack_command(command: Result<Command, &'static str>) -> Result<Vec<Req>, OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrapped` is never used
[INFO] [stdout]    --> src/bad/mod.rs:660:4
[INFO] [stdout]     |
[INFO] [stdout] 660 | fn wrapped<'i, I: IntoIterator<Item = &'i str>>(it: I) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_on_boarding` is never used
[INFO] [stdout]    --> src/bad/mod.rs:690:4
[INFO] [stdout]     |
[INFO] [stdout] 690 | fn send_on_boarding(nick: &str) -> Vec<OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_to_message` is never used
[INFO] [stdout]    --> src/bad/mod.rs:729:4
[INFO] [stdout]     |
[INFO] [stdout] 729 | fn line_to_message(token: Uid, line: &str) -> Result<Option<Message>, OutCommand> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_such_nick` is never used
[INFO] [stdout]   --> src/bad/err.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn no_such_nick<I: Ident>(ident: I, _nick: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_such_channel` is never used
[INFO] [stdout]   --> src/bad/err.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn no_such_channel<I: Ident>(ident: I, _channel: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cap_command` is never used
[INFO] [stdout]   --> src/bad/err.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn invalid_cap_command<I: Ident>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_error` is never used
[INFO] [stdout]   --> src/bad/err.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn file_error<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `erroneous_nickname` is never used
[INFO] [stdout]   --> src/bad/err.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn erroneous_nickname<I: Ident>(ident: I, _nick: String, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nickname_in_use` is never used
[INFO] [stdout]   --> src/bad/err.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn nickname_in_use<I: Ident>(ident: I, nick: &Nick, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `not_registered` is never used
[INFO] [stdout]   --> src/bad/err.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn not_registered<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_mismatch` is never used
[INFO] [stdout]   --> src/bad/err.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn password_mismatch<I: Ident>(ident: I, reason: &'static str) -> OutCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChannelName` is never constructed
[INFO] [stdout]   --> src/bad/ids.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ChannelName {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]   --> src/bad/ids.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct HostMask {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 56 |     inner: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HostMask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Nick {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 60 |     pub fn new<S: AsRef<str> + ToString>(from: S) -> Result<Nick, &'static str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl ChannelName {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 72 |     pub fn new<S: AsRef<str> + ToString>(from: S) -> Result<ChannelName, &'static str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bad/ids.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl HostMask {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new(raw_user_name: &str, host: &str) -> HostMask {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_channel` is never used
[INFO] [stdout]    --> src/bad/ids.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn valid_channel(chan: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_account` is never used
[INFO] [stdout]    --> src/bad/ids.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn valid_account(account: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_nick` is never used
[INFO] [stdout]    --> src/bad/ids.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn valid_nick(nick: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_nick_char` is never used
[INFO] [stdout]    --> src/bad/ids.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn valid_nick_char(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PreAuthOp` is never used
[INFO] [stdout]   --> src/bad/pre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum PreAuthOp {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `work_pre_auth` is never used
[INFO] [stdout]   --> src/bad/pre.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn work_pre_auth(message: &Message, state: &mut PreAuth) -> PreAuthOp {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_http_verb` is never used
[INFO] [stdout]    --> src/bad/pre.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn is_http_verb(word: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/bad/proto.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Join(&'s str, Option<&'s str>, Option<&'s str>),
[INFO] [stdout]    |     ---- ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     Join(&'s str, Option<&'s str>, Option<&'s str>),
[INFO] [stdout] 17 +     Join((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/bad/proto.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Privmsg(&'s str, &'s str),
[INFO] [stdout]    |     ------- ^^^^^^^  ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 20 -     Privmsg(&'s str, &'s str),
[INFO] [stdout] 20 +     Privmsg((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Quit(Option<&'s str>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Quit(Option<&'s str>),
[INFO] [stdout] 22 +     Quit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     CapLs(Option<&'s str>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     CapLs(Option<&'s str>),
[INFO] [stdout] 25 +     CapLs(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bad/proto.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Other(&'s str),
[INFO] [stdout]    |     ----- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Other(&'s str),
[INFO] [stdout] 30 +     Other(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tags_str`, `source_str`, and `source_nick` are never used
[INFO] [stdout]    --> src/bad/proto.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl ParsedMessage {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 135 |     fn tags_str(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn source_str(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn source_nick(&self) -> Result<Option<Nick>, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `conn` is never read
[INFO] [stdout]   --> src/bad/store.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Store {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 16 |     conn: Connection,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `account` and `load_channel` are never used
[INFO] [stdout]   --> src/bad/store.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Store {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn account(&mut self, pass: &Pass) -> Option<i64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn load_channel(&mut self, name: &ChannelName) -> ChannelId {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_id` is never used
[INFO] [stdout]   --> src/bad/store.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn load_id<P>(tx: &Transaction, query: &'static str, params: P) -> Option<i64>
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_account` is never used
[INFO] [stdout]   --> src/bad/store.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn create_account(tx: Transaction, pass: &Pass) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_channel` is never used
[INFO] [stdout]    --> src/bad/store.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn create_channel(tx: Transaction, name: &ChannelName) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_pass` is never used
[INFO] [stdout]    --> src/bad/store.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn check_pass(pass: &str, hashed: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unix_time` is never used
[INFO] [stdout]    --> src/bad/store.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn unix_time() -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SystemError` is never used
[INFO] [stdout]    --> src/bad/store.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 | trait SystemError<T, E> {
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LazyView` is never used
[INFO] [stdout]  --> src/in_map.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait LazyView<K: Copy + hash::Hash + cmp::Eq, V> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MapBorrow` is never constructed
[INFO] [stdout]   --> src/in_map.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MapBorrow<'m, K: hash::Hash + cmp::Eq, V> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `view` is never used
[INFO] [stdout]   --> src/in_map.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<'m, K: hash::Hash + cmp::Eq, V> MapBorrow<'m, K, V> {
[INFO] [stdout]    | -------------------------------------------------------- method in this implementation
[INFO] [stdout] 50 |     pub fn view(&self) -> &HashMap<K, V> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `peer_addr` is never read
[INFO] [stdout]   --> src/lined/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Client {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 43 |     peer_addr: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pbkdf2_simple` is never used
[INFO] [stdout]  --> src/pbkdf2.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn pbkdf2_simple(pass: &str) -> Result<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pbkdf2_check` is never used
[INFO] [stdout]   --> src/pbkdf2.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn pbkdf2_check(pass: &str, hash: &str) -> Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:151:22
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn args_iter(&self) -> ParsedArgs {
[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] 151 |     pub fn args_iter(&self) -> ParsedArgs<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn args(&self) -> ShortArgs {
[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] 158 |     fn args(&self) -> ShortArgs<'_> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_pass` is never used
[INFO] [stdout]    --> src/bad/store.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn check_pass(pass: &str, hashed: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unix_time` is never used
[INFO] [stdout]    --> src/bad/store.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn unix_time() -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SystemError` is never used
[INFO] [stdout]    --> src/bad/store.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 | trait SystemError<T, E> {
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LazyView` is never used
[INFO] [stdout]  --> src/in_map.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait LazyView<K: Copy + hash::Hash + cmp::Eq, V> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MapBorrow` is never constructed
[INFO] [stdout]   --> src/in_map.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MapBorrow<'m, K: hash::Hash + cmp::Eq, V> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `view` is never used
[INFO] [stdout]   --> src/in_map.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<'m, K: hash::Hash + cmp::Eq, V> MapBorrow<'m, K, V> {
[INFO] [stdout]    | -------------------------------------------------------- method in this implementation
[INFO] [stdout] 50 |     pub fn view(&self) -> &HashMap<K, V> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `peer_addr` is never read
[INFO] [stdout]   --> src/lined/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Client {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 43 |     peer_addr: SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn command(&self) -> Result<Command, &'static str> {
[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] 204 |     pub fn command(&self) -> Result<Command<'_>, &'static str> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/in_map.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<K, V>>;
[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] 6 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<'_, K, V>>;
[INFO] [stdout]   |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/in_map.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<K, V>
[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] 7 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<'_, K, V>
[INFO] [stdout]   |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/in_map.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<K, V>> {
[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] 13 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<'_, K, V>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/in_map.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<K, V>
[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] 21 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<'_, K, V>
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:151:22
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn args_iter(&self) -> ParsedArgs {
[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] 151 |     pub fn args_iter(&self) -> ParsedArgs<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn args(&self) -> ShortArgs {
[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] 158 |     fn args(&self) -> ShortArgs<'_> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bad/proto.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn command(&self) -> Result<Command, &'static str> {
[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] 204 |     pub fn command(&self) -> Result<Command<'_>, &'static str> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/in_map.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<K, V>>;
[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] 6 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<'_, K, V>>;
[INFO] [stdout]   |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/in_map.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<K, V>
[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] 7 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<'_, K, V>
[INFO] [stdout]   |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/in_map.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<K, V>> {
[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] 13 |     fn lazy_view(&mut self, key: K) -> Option<MapBorrow<'_, K, V>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/in_map.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<K, V>
[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] 21 |     fn lazy_view_or_insert_with<F>(&mut self, key: K, default: F) -> MapBorrow<'_, K, V>
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.39s
[INFO] running `Command { std: "docker" "inspect" "49b65c703eecebbc000cf50672d3626b49f99d0fd96001844ef121b459f881e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49b65c703eecebbc000cf50672d3626b49f99d0fd96001844ef121b459f881e2", kill_on_drop: false }`
[INFO] [stdout] 49b65c703eecebbc000cf50672d3626b49f99d0fd96001844ef121b459f881e2
