[INFO] cloning repository https://github.com/hueindahaus/pycom-wrap
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hueindahaus/pycom-wrap" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhueindahaus%2Fpycom-wrap", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhueindahaus%2Fpycom-wrap'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f255a9cd9e442b4d0eb5351757b901467aeb861
[INFO] checking hueindahaus/pycom-wrap against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhueindahaus%2Fpycom-wrap" "/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/hueindahaus/pycom-wrap
[INFO] finished tweaking git repo https://github.com/hueindahaus/pycom-wrap
[INFO] tweaked toml for git repo https://github.com/hueindahaus/pycom-wrap written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hueindahaus/pycom-wrap 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/hueindahaus/pycom-wrap 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unic-ucd-ident v0.9.0
[INFO] [stderr]   Downloaded unic-emoji-char v0.9.0
[INFO] [stderr]   Downloaded winnow v0.6.11
[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] b402c37136744028ccc6ca36cb99119c4158ca06e6614ade22aaf3563c85680c
[INFO] running `Command { std: "docker" "start" "-a" "b402c37136744028ccc6ca36cb99119c4158ca06e6614ade22aaf3563c85680c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b402c37136744028ccc6ca36cb99119c4158ca06e6614ade22aaf3563c85680c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b402c37136744028ccc6ca36cb99119c4158ca06e6614ade22aaf3563c85680c", kill_on_drop: false }`
[INFO] [stdout] b402c37136744028ccc6ca36cb99119c4158ca06e6614ade22aaf3563c85680c
[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] 26ece3fb0d105b6b19ab5dd64c5bf0331104c7a653df5a38dbe8370635b576b0
[INFO] running `Command { std: "docker" "start" "-a" "26ece3fb0d105b6b19ab5dd64c5bf0331104c7a653df5a38dbe8370635b576b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking winnow v0.6.11
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking unic-emoji-char v0.9.0
[INFO] [stderr]     Checking unic-ucd-ident v0.9.0
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking serde v1.0.203
[INFO] [stderr]     Checking serde_spanned v0.6.6
[INFO] [stderr]     Checking toml_datetime v0.6.6
[INFO] [stderr]     Checking serde_json v1.0.117
[INFO] [stderr]     Checking toml_edit v0.22.14
[INFO] [stderr]     Checking toml v0.8.14
[INFO] [stderr]     Checking pycom-wrap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `str::Chars`
[INFO] [stdout]  --> src/lsp/comment_wrapper.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::Chars};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1173:19
[INFO] [stdout]      |
[INFO] [stdout] 1173 |               #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1183 | /     test_line_comment! {
[INFO] [stdout] 1184 | |         test_line_comment_long: " foo",
[INFO] [stdout] 1185 | |         test_line_comment_whitespace: "  ",
[INFO] [stdout] 1186 | |         test_line_comment_single_whitespace: " ",
[INFO] [stdout] 1187 | |         test_line_comment_empty: "",
[INFO] [stdout] 1188 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `test_line_comment` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1194:19
[INFO] [stdout]      |
[INFO] [stdout] 1194 |               #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1213 | /     test_comment_until_eol! {
[INFO] [stdout] 1214 | |         test_comment_until_windows_eol: WINDOWS_EOL,
[INFO] [stdout] 1215 | |         test_comment_until_mac_eol: MAC_EOL,
[INFO] [stdout] 1216 | |         test_comment_until_unix_eol: UNIX_EOL,
[INFO] [stdout] 1217 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: this warning originates in the macro `test_comment_until_eol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1245:23
[INFO] [stdout]      |
[INFO] [stdout] 1245 |                   #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1273 | /     test_indentation_with_eol! {
[INFO] [stdout] 1274 | |         test_indentation_windows_eol: WINDOWS_EOL,
[INFO] [stdout] 1275 | |         test_indentation_mac_eol: MAC_EOL,
[INFO] [stdout] 1276 | |         test_indentation_unix_eol: UNIX_EOL,
[INFO] [stdout] 1277 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: this warning originates in the macro `test_indentation_with_eol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1283:23
[INFO] [stdout]      |
[INFO] [stdout] 1283 |                   #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1361 | /     test_double_dedent_with_eol! {
[INFO] [stdout] 1362 | |         test_double_dedent_windows_eol: WINDOWS_EOL,
[INFO] [stdout] 1363 | |         test_double_dedent_mac_eol: MAC_EOL,
[INFO] [stdout] 1364 | |         test_double_dedent_unix_eol: UNIX_EOL,
[INFO] [stdout] 1365 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: this warning originates in the macro `test_double_dedent_with_eol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1324:23
[INFO] [stdout]      |
[INFO] [stdout] 1324 |                   #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1367 | /     test_double_dedent_with_tabs! {
[INFO] [stdout] 1368 | |         test_double_dedent_tabs_windows_eol: WINDOWS_EOL,
[INFO] [stdout] 1369 | |         test_double_dedent_tabs_mac_eol: MAC_EOL,
[INFO] [stdout] 1370 | |         test_double_dedent_tabs_unix_eol: UNIX_EOL,
[INFO] [stdout] 1371 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: this warning originates in the macro `test_double_dedent_with_tabs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `full-lexer`
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1377:23
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                   #[cfg(feature = "full-lexer")]
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 1433 | /     test_newline_in_brackets! {
[INFO] [stdout] 1434 | |         test_newline_in_brackets_windows_eol: WINDOWS_EOL,
[INFO] [stdout] 1435 | |         test_newline_in_brackets_mac_eol: MAC_EOL,
[INFO] [stdout] 1436 | |         test_newline_in_brackets_unix_eol: UNIX_EOL,
[INFO] [stdout] 1437 | |     }
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `full-lexer` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: this warning originates in the macro `test_newline_in_brackets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lsp::lexer::lex`
[INFO] [stdout]  --> src/lsp/request_handling.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::lsp::lexer::lex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/lsp/request_handling.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/rpc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `event`, `info`, and `warn`
[INFO] [stdout]  --> src/scanner.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::{error, event, info, warn, Level};
[INFO] [stdout]   |                      ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/scanner.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::constants::{self};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `response` and `self`
[INFO] [stdout]   --> src/main.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout]  9 |     request_handling::{self, RequestHandler, RequestHandlerAction},
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 10 |     response,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::Chars`
[INFO] [stdout]  --> src/lsp/comment_wrapper.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::Chars};
[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: `crate::lsp::lexer::lex`
[INFO] [stdout]  --> src/lsp/request_handling.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::lsp::lexer::lex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/lsp/request_handling.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/rpc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `event`, `info`, and `warn`
[INFO] [stdout]  --> src/scanner.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::{error, event, info, warn, Level};
[INFO] [stdout]   |                      ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/scanner.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::constants::{self};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `response` and `self`
[INFO] [stdout]   --> src/main.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout]  9 |     request_handling::{self, RequestHandler, RequestHandlerAction},
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 10 |     response,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut text_edits: Vec<TextEdit> = Vec::with_capacity(token_groups.len());
[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: unused variable: `text_edits`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut text_edits: Vec<TextEdit> = Vec::with_capacity(token_groups.len());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_edits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let max_comment_length = self.max_line_length
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:31
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                               ----^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     for line in lines {}
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn format_single_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optionts`
[INFO] [stdout]    --> src/lsp/request_handling.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         optionts: &FormattingOptions,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optionts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JSON_RPC_DELIMITER` is never used
[INFO] [stdout]  --> src/constants.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const JSON_RPC_DELIMITER: &str = "\r\n\r\n";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Position {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Range {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextEdit` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct TextEdit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommentWrapper` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CommentWrapper {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl CommentWrapper {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 32 |     fn process(&self, source: &str) -> Result<Vec<TextEdit>, LexicalError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_multi_line_comments` is never used
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:4
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_single_line_comments` is never used
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn format_single_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum LexicalErrorType {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     UnicodeError,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     DefaultArgumentError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     /// A duplicate argument was found in a function definition.
[INFO] [stdout] 31 |     DuplicateArgumentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     /// A positional argument follows a keyword argument.
[INFO] [stdout] 33 |     PositionalArgumentError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     /// An iterable argument unpacking `*args` follows keyword argument unpacking `**kwargs`.
[INFO] [stdout] 35 |     UnpackedArgumentError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     /// A keyword argument was repeated.
[INFO] [stdout] 37 |     DuplicateKeywordArgumentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     FStringError, //(FStringErrorType),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexicalErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `False`, `None`, `True`, `StartModule`, `StartInteractive`, and `StartExpression` are never constructed
[INFO] [stdout]    --> src/lsp/lexer/token.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout]   7 | pub enum Token {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 148 |     False,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 149 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 150 |     True,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     StartModule,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 191 |     StartInteractive,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 |     StartExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` 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: methods `is_raw`, `is_any_fstring`, `is_any_bytes`, and `is_unicode` are never used
[INFO] [stdout]    --> src/lsp/lexer/token.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 417 | impl StringKind {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn is_raw(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn is_any_fstring(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn is_any_bytes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn is_unicode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]  --> src/lsp/notification.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Notification {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jsonrpc` is never read
[INFO] [stdout]   --> src/lsp/request.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 |     Request {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 11 |         jsonrpc: &'a str,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IncommingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jsonrpc` is never read
[INFO] [stdout]   --> src/lsp/request.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Notification { method: String, jsonrpc: &'a str },
[INFO] [stdout]    |     ------------                   ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IncommingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lsp/response.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ResponseErrorCode {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 23 |     ParseError = -32700,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |     InvalidRequest = -32600,
[INFO] [stdout] 25 |     MethodNotFound = -32601,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     InvalidParams = -32602,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 27 |     InternalError = -32603,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     ServerNotInitialized = -32002,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     UnknownErrorCode = -32001,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     RequestFailed = -32803,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 31 |     ServerCancelled = -32802,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     ContentModified = -32801,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     RequestCancelled = -32800,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `String`, `Number`, and `Bool` are never constructed
[INFO] [stdout]   --> src/lsp/response.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ResponseErrorData<'a> {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 39 |     String(&'a str),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Number(i32), // Maybe change this based on whatever this is intended to be represented as
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 41 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cut_data` is never used
[INFO] [stdout]   --> src/rpc.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn cut_data(data: &[u8]) -> Result<(&[u8], &[u8]), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 30 |         request: &'a IncommingMessage<'a>,
[INFO] [stdout]    |                   --                  -- the lifetime is named here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is named here
[INFO] [stdout] 31 |     ) -> Result<RequestHandlerAction, String> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ) -> Result<RequestHandlerAction<'a>, String> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:81:38
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn handle_initialize_request(&self, id: u32, client_info: &ClientInfo) -> Response {
[INFO] [stdout]    |                                      ^^^^^ the lifetime is elided here            ^^^^^^^^ the same lifetime is hidden 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] 81 |     pub fn handle_initialize_request(&self, id: u32, client_info: &ClientInfo) -> Response<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn handle_shutdown_request(&mut self, id: u32) -> Response {
[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] 99 |     pub fn handle_shutdown_request(&mut self, id: u32) -> Response<'_> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lsp/request_handling.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 115 |     ) -> Response {
[INFO] [stdout]     |          ^^^^^^^^ the same lifetime is hidden 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] 115 |     ) -> Response<'_> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn from_reader(reader: R, split_fn: &SplitFn) -> Scanner<R> {
[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 |     pub fn from_reader(reader: R, split_fn: &SplitFn) -> Scanner<'_, R> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut text_edits: Vec<TextEdit> = Vec::with_capacity(token_groups.len());
[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: unused variable: `text_edits`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut text_edits: Vec<TextEdit> = Vec::with_capacity(token_groups.len());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_edits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let max_comment_length = self.max_line_length
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:31
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                               ----^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     for line in lines {}
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_comment_length`
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn format_single_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_comment_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optionts`
[INFO] [stdout]    --> src/lsp/request_handling.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         optionts: &FormattingOptions,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optionts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JSON_RPC_DELIMITER` is never used
[INFO] [stdout]  --> src/constants.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const JSON_RPC_DELIMITER: &str = "\r\n\r\n";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Position {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Range {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextEdit` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct TextEdit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommentWrapper` is never constructed
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CommentWrapper {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/lsp/comment_wrapper.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl CommentWrapper {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 32 |     fn process(&self, source: &str) -> Result<Vec<TextEdit>, LexicalError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_multi_line_comments` is never used
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:168:4
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn format_multi_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_single_line_comments` is never used
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn format_single_line_comments(mut str: String, max_comment_length: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_char_index` is never used
[INFO] [stdout]    --> src/lsp/comment_wrapper.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn to_char_index<T: Iterator<Item = char>>(chars: T, utf_8_offset: TextSize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenSpan` is never used
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type TokenSpan = (Token, TextRange);
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LexResult` is never used
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type LexResult = Result<TokenSpan, LexicalError>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LexicalErrorType` is never used
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum LexicalErrorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexicalError` is never constructed
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct LexicalError {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndentationLevel` is never constructed
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct IndentationLevel {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reset` and `compare_strict` are never used
[INFO] [stdout]   --> src/lsp/lexer/lex.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl IndentationLevel {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 65 |     fn reset(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn compare_strict(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Indentations` is never constructed
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct Indentations {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `push`, `pop`, and `current` are never used
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Indentations {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 106 |     fn is_empty(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn push(&mut self, indent: IndentationLevel) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn pop(&mut self) -> Option<IndentationLevel> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn current(&self) -> &IndentationLevel {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharReader` is never constructed
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct CharReader<T, const N: usize>
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | / impl<T, const N: usize> CharReader<T, N>
[INFO] [stdout] 147 | | where
[INFO] [stdout] 148 | |     T: Iterator<Item = char>,
[INFO] [stdout]     | |_____________________________- associated function in this implementation
[INFO] [stdout] 149 |   {
[INFO] [stdout] 150 |       fn new(source: T) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct Lexer<T>
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lsp/lexer/lex.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | / impl<T> Lexer<T>
[INFO] [stdout] 197 | | where
[INFO] [stdout] 198 | |     T: Iterator<Item = char>,
[INFO] [stdout]     | |_____________________________- associated function in this implementation
[INFO] [stdout] 199 |   {
[INFO] [stdout] 200 |       pub fn new(input: T) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:221:12
[INFO] [stdout]      |
[INFO] [stdout]  217 | / impl<T> Lexer<T>
[INFO] [stdout]  218 | | where
[INFO] [stdout]  219 | |     T: Iterator<Item = char>,
[INFO] [stdout]      | |_____________________________- methods in this implementation
[INFO] [stdout]  220 |   {
[INFO] [stdout]  221 |       pub fn current_char(&mut self) -> Option<char> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  225 |       pub fn next_char(&mut self) -> Option<char> {
[INFO] [stdout]      |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  229 |       pub fn jump_forward_n_chars(&mut self, num: u32) -> TextSize {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  237 |       pub fn char_cursor(&self) -> TextSize {
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  241 |       pub fn window(&self) -> &[Option<char>; 4] {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  245 |       pub fn lex_identifier_or_keyword(&mut self) -> LexResult {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  265 |       pub fn try_lex_tagged_string(&mut self) -> Option<LexResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  286 |       pub fn lex_string(&mut self, kind: StringKind) -> LexResult {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  357 |       pub fn lex_next(&mut self) -> Result<Option<TokenSpan>, LexicalError> {
[INFO] [stdout]      |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  659 |       pub fn lex_single_line_comment(&mut self) -> LexResult {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  681 |       pub fn lex_number(&mut self) -> LexResult {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  838 |       fn lex_number_radix(&mut self, radix: u32) -> LexResult {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  854 |       fn radix_run(&mut self, radix: u32) -> Result<String, LexicalError> {
[INFO] [stdout]      |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  900 |       pub fn populate_results_queue(&mut self) -> Result<(), LexicalError> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  949 |       fn handle_indentations(&mut self) -> Result<(), LexicalError> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |       fn inner_next(&mut self) -> LexResult {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_or_keywords_start` is never used
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1081:8
[INFO] [stdout]      |
[INFO] [stdout] 1081 | pub fn is_identifier_or_keywords_start(c: char) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_or_keyword_continuation` is never used
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1090:8
[INFO] [stdout]      |
[INFO] [stdout] 1090 | pub fn is_identifier_or_keyword_continuation(c: char) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_digit_of_radix` is never used
[INFO] [stdout]     --> src/lsp/lexer/lex.rs:1099:8
[INFO] [stdout]      |
[INFO] [stdout] 1099 | pub fn is_digit_of_radix(c: char, radix: u32) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ParseExponentStr` is never used
[INFO] [stdout]  --> src/lsp/lexer/string_parsing.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ParseExponentStr {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exponent_parts` is never used
[INFO] [stdout]   --> src/lsp/lexer/string_parsing.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn exponent_parts(value: &str) -> Result<(&str, bool, &str), String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/lsp/lexer/token.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `try_get_keyword` is never used
[INFO] [stdout]    --> src/lsp/lexer/token.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 196 |     pub fn try_get_keyword(string: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StringKind` is never used
[INFO] [stdout]    --> src/lsp/lexer/token.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub enum StringKind {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_raw`, `is_any_fstring`, `is_any_bytes`, `is_unicode`, and `prefix_len` are never used
[INFO] [stdout]    --> src/lsp/lexer/token.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 417 | impl StringKind {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn is_raw(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn is_any_fstring(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn is_any_bytes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn is_unicode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn prefix_len(&self) -> TextSize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]  --> src/lsp/notification.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Notification {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jsonrpc` is never read
[INFO] [stdout]   --> src/lsp/request.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 |     Request {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 11 |         jsonrpc: &'a str,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IncommingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jsonrpc` is never read
[INFO] [stdout]   --> src/lsp/request.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Notification { method: String, jsonrpc: &'a str },
[INFO] [stdout]    |     ------------                   ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IncommingMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lsp/response.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ResponseErrorCode {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 23 |     ParseError = -32700,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |     InvalidRequest = -32600,
[INFO] [stdout] 25 |     MethodNotFound = -32601,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     InvalidParams = -32602,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 27 |     InternalError = -32603,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     ServerNotInitialized = -32002,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     UnknownErrorCode = -32001,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     RequestFailed = -32803,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 31 |     ServerCancelled = -32802,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     ContentModified = -32801,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     RequestCancelled = -32800,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `String`, `Number`, and `Bool` are never constructed
[INFO] [stdout]   --> src/lsp/response.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ResponseErrorData<'a> {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 39 |     String(&'a str),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Number(i32), // Maybe change this based on whatever this is intended to be represented as
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 41 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cut_data` is never used
[INFO] [stdout]   --> src/rpc.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn cut_data(data: &[u8]) -> Result<(&[u8], &[u8]), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 30 |         request: &'a IncommingMessage<'a>,
[INFO] [stdout]    |                   --                  -- the lifetime is named here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is named here
[INFO] [stdout] 31 |     ) -> Result<RequestHandlerAction, String> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ) -> Result<RequestHandlerAction<'a>, String> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:81:38
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn handle_initialize_request(&self, id: u32, client_info: &ClientInfo) -> Response {
[INFO] [stdout]    |                                      ^^^^^ the lifetime is elided here            ^^^^^^^^ the same lifetime is hidden 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] 81 |     pub fn handle_initialize_request(&self, id: u32, client_info: &ClientInfo) -> Response<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lsp/request_handling.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn handle_shutdown_request(&mut self, id: u32) -> Response {
[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] 99 |     pub fn handle_shutdown_request(&mut self, id: u32) -> Response<'_> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lsp/request_handling.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 115 |     ) -> Response {
[INFO] [stdout]     |          ^^^^^^^^ the same lifetime is hidden 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] 115 |     ) -> Response<'_> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn from_reader(reader: R, split_fn: &SplitFn) -> Scanner<R> {
[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 |     pub fn from_reader(reader: R, split_fn: &SplitFn) -> Scanner<'_, R> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.22s
[INFO] running `Command { std: "docker" "inspect" "26ece3fb0d105b6b19ab5dd64c5bf0331104c7a653df5a38dbe8370635b576b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26ece3fb0d105b6b19ab5dd64c5bf0331104c7a653df5a38dbe8370635b576b0", kill_on_drop: false }`
[INFO] [stdout] 26ece3fb0d105b6b19ab5dd64c5bf0331104c7a653df5a38dbe8370635b576b0
