[INFO] cloning repository https://github.com/pheen/fuzzy_ruby_server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pheen/fuzzy_ruby_server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpheen%2Ffuzzy_ruby_server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpheen%2Ffuzzy_ruby_server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9a439496ae0666b1cee0213031a6dcc3e74662cd
[INFO] checking pheen/fuzzy_ruby_server against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpheen%2Ffuzzy_ruby_server" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pheen/fuzzy_ruby_server
[INFO] finished tweaking git repo https://github.com/pheen/fuzzy_ruby_server
[INFO] tweaked toml for git repo https://github.com/pheen/fuzzy_ruby_server written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pheen/fuzzy_ruby_server on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pheen/fuzzy_ruby_server already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded errno v0.3.6
[INFO] [stderr]   Downloaded tower-lsp-macros v0.8.0
[INFO] [stderr]   Downloaded tantivy-tokenizer-api v0.2.0
[INFO] [stderr]   Downloaded lsp-types v0.94.1
[INFO] [stderr]   Downloaded unescape v0.1.0
[INFO] [stderr]   Downloaded murmurhash32 v0.3.0
[INFO] [stderr]   Downloaded quit_macros v2.0.0
[INFO] [stderr]   Downloaded tantivy-bitpacker v0.5.0
[INFO] [stderr]   Downloaded alloc-from-pool v1.0.5
[INFO] [stderr]   Downloaded ownedbytes v0.6.0
[INFO] [stderr]   Downloaded darwin-libproc v0.1.2
[INFO] [stderr]   Downloaded tower-lsp v0.19.0
[INFO] [stderr]   Downloaded darwin-libproc-sys v0.1.2
[INFO] [stderr]   Downloaded lz4_flex v0.11.1
[INFO] [stderr]   Downloaded oneshot v0.1.6
[INFO] [stderr]   Downloaded lib-ruby-parser-ast v0.55.0
[INFO] [stderr]   Downloaded psutil v3.2.2
[INFO] [stderr]   Downloaded tantivy-columnar v0.2.0
[INFO] [stderr]   Downloaded tantivy-sstable v0.2.0
[INFO] [stderr]   Downloaded zerocopy v0.7.26
[INFO] [stderr]   Downloaded lib-ruby-parser v4.0.6+ruby-3.1.2
[INFO] [stderr]   Downloaded tantivy-query-grammar v0.21.0
[INFO] [stderr]   Downloaded fs4 v0.6.6
[INFO] [stderr]   Downloaded tantivy-common v0.6.0
[INFO] [stderr]   Downloaded tantivy-stacker v0.2.0
[INFO] [stderr]   Downloaded quit v2.0.0
[INFO] [stderr]   Downloaded sketches-ddsketch v0.2.1
[INFO] [stderr]   Downloaded rustix v0.38.24
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.26
[INFO] [stderr]   Downloaded tantivy v0.21.1
[INFO] [stderr]   Downloaded tantivy-fst v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48aeabcf19da43f4e67afdcac6c8402c38315b085c0c11ee242f6129dfd2e637
[INFO] running `Command { std: "docker" "start" "-a" "48aeabcf19da43f4e67afdcac6c8402c38315b085c0c11ee242f6129dfd2e637", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48aeabcf19da43f4e67afdcac6c8402c38315b085c0c11ee242f6129dfd2e637", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48aeabcf19da43f4e67afdcac6c8402c38315b085c0c11ee242f6129dfd2e637", kill_on_drop: false }`
[INFO] [stdout] 48aeabcf19da43f4e67afdcac6c8402c38315b085c0c11ee242f6129dfd2e637
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d04e265c217f967c7c90b2e5caa53fbce149c2e95af6b28b4e0e57d8ff87d7a
[INFO] running `Command { std: "docker" "start" "-a" "8d04e265c217f967c7c90b2e5caa53fbce149c2e95af6b28b4e0e57d8ff87d7a", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling rustix v0.38.24
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]     Checking zerocopy v0.7.26
[INFO] [stderr]    Compiling zstd-sys v2.0.9+zstd.1.5.5
[INFO] [stderr]     Checking ownedbytes v0.6.0
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking tantivy-fst v0.4.0
[INFO] [stderr]     Checking bitpacking v0.8.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling platforms v2.0.0
[INFO] [stderr]     Checking murmurhash32 v0.3.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking crossbeam-queue v0.3.8
[INFO] [stderr]     Checking hashbrown v0.14.2
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling blake3 v1.5.0
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]    Compiling lib-ruby-parser v4.0.6+ruby-3.1.2
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking measure_time v0.8.2
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]     Checking nix v0.23.2
[INFO] [stderr]     Checking memmap2 v0.7.1
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking lz4_flex v0.11.1
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking unescape v0.1.0
[INFO] [stderr]     Checking oneshot v0.1.6
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking lru v0.11.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking arc-swap v1.6.0
[INFO] [stderr]    Compiling quit_macros v2.0.0
[INFO] [stderr]     Checking lib-ruby-parser-ast v0.55.0
[INFO] [stderr]     Checking alloc-from-pool v1.0.5
[INFO] [stderr]     Checking filetime v0.2.22
[INFO] [stderr]     Checking quit v2.0.0
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking tantivy-query-grammar v0.21.0
[INFO] [stderr]     Checking tempfile v3.8.1
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking fs4 v0.6.6
[INFO] [stderr]     Checking tantivy-bitpacker v0.5.0
[INFO] [stderr]     Checking jwalk v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_repr v0.1.17
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking tokio v1.34.0
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling auto_impl v1.1.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling tower-lsp-macros v0.8.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking thiserror v1.0.50
[INFO] [stderr]     Checking psutil v3.2.2
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.108
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking uuid v1.5.0
[INFO] [stderr]     Checking rust-stemmers v1.2.0
[INFO] [stderr]     Checking tantivy-tokenizer-api v0.2.0
[INFO] [stderr]     Checking sketches-ddsketch v0.2.1
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking lsp-types v0.94.1
[INFO] [stderr]     Checking tantivy-common v0.6.0
[INFO] [stderr]     Checking tantivy-stacker v0.2.0
[INFO] [stderr]     Checking tantivy-sstable v0.2.0
[INFO] [stderr]     Checking tantivy-columnar v0.2.0
[INFO] [stderr]     Checking tantivy v0.21.1
[INFO] [stderr]     Checking tower-lsp v0.19.0
[INFO] [stderr]     Checking fuzzy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::SymbolInformation::deprecated`: Use tags instead
[INFO] [stdout]     --> src/persistence.rs:1601:17
[INFO] [stdout]      |
[INFO] [stdout] 1601 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::SymbolInformation::deprecated`: Use tags instead
[INFO] [stdout]     --> src/persistence.rs:1601:17
[INFO] [stdout]      |
[INFO] [stdout] 1601 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `process_id` and `no_workspace` are never read
[INFO] [stdout]    --> src/persistence.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Persistence {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     process_id: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 156 |     no_workspace: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/main.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for diagnostic in change_diagnostics {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 109 -         for diagnostic in change_diagnostics {
[INFO] [stdout] 109 +         while let Ok(diagnostic) = change_diagnostics {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 109 -         for diagnostic in change_diagnostics {
[INFO] [stdout] 109 +         if let Ok(diagnostic) = change_diagnostics {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:474:21
[INFO] [stdout]     |
[INFO] [stdout] 474 | /                     self.reindex_modified_file_without_commit(
[INFO] [stdout] 475 | |                         &text,
[INFO] [stdout] 476 | |                         relative_path,
[INFO] [stdout] 477 | |                         &index_writer,
[INFO] [stdout] 478 | |                         true,
[INFO] [stdout] 479 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 474 |                     let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 | /                         self.reindex_modified_file_without_commit(
[INFO] [stdout] 565 | |                             &text,
[INFO] [stdout] 566 | |                             relative_path,
[INFO] [stdout] 567 | |                             &index_writer,
[INFO] [stdout] 568 | |                             false,
[INFO] [stdout] 569 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |                         let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:695:25
[INFO] [stdout]     |
[INFO] [stdout] 695 | /                         self.reindex_modified_file_without_commit(
[INFO] [stdout] 696 | |                             &text,
[INFO] [stdout] 697 | |                             relative_path,
[INFO] [stdout] 698 | |                             &index_writer,
[INFO] [stdout] 699 | |                             false,
[INFO] [stdout] 700 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 695 |                         let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/persistence.rs:808:45
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout]     |                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 808 -                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout] 808 +                 while let Some(unwrapped_diagnostic) = diagnostic {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 808 -                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout] 808 +                 if let Some(unwrapped_diagnostic) = diagnostic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:1789:35
[INFO] [stdout]      |
[INFO] [stdout] 1789 |                 for child_node in args {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1789 -                 for child_node in args {
[INFO] [stdout] 1789 +                 while let Some(child_node) = args {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1789 -                 for child_node in args {
[INFO] [stdout] 1789 +                 if let Some(child_node) = args {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:1934:39
[INFO] [stdout]      |
[INFO] [stdout] 1934 |                     for child_node in body {
[INFO] [stdout]      |                                       ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1934 -                     for child_node in body {
[INFO] [stdout] 1934 +                     while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1934 -                     for child_node in body {
[INFO] [stdout] 1934 +                     if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2207:35
[INFO] [stdout]      |
[INFO] [stdout] 2207 |                 for child_node in body {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2207 -                 for child_node in body {
[INFO] [stdout] 2207 +                 while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2207 -                 for child_node in body {
[INFO] [stdout] 2207 +                 if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2639:39
[INFO] [stdout]      |
[INFO] [stdout] 2639 |                     for child_node in body {
[INFO] [stdout]      |                                       ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2639 -                     for child_node in body {
[INFO] [stdout] 2639 +                     while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2639 -                     for child_node in body {
[INFO] [stdout] 2639 +                     if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2713:29
[INFO] [stdout]      |
[INFO] [stdout] 2713 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2713 -                 for node in body {
[INFO] [stdout] 2713 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2713 -                 for node in body {
[INFO] [stdout] 2713 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2719:29
[INFO] [stdout]      |
[INFO] [stdout] 2719 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2719 -                 for node in body {
[INFO] [stdout] 2719 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2719 -                 for node in body {
[INFO] [stdout] 2719 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2737:29
[INFO] [stdout]      |
[INFO] [stdout] 2737 |                 for node in options {
[INFO] [stdout]      |                             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2737 -                 for node in options {
[INFO] [stdout] 2737 +                 while let Some(node) = options {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2737 -                 for node in options {
[INFO] [stdout] 2737 +                 if let Some(node) = options {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2748:29
[INFO] [stdout]      |
[INFO] [stdout] 2748 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2748 -                 for node in body {
[INFO] [stdout] 2748 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2748 -                 for node in body {
[INFO] [stdout] 2748 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2763:29
[INFO] [stdout]      |
[INFO] [stdout] 2763 |                 for node in exc_list {
[INFO] [stdout]      |                             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2763 -                 for node in exc_list {
[INFO] [stdout] 2763 +                 while let Some(node) = exc_list {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2763 -                 for node in exc_list {
[INFO] [stdout] 2763 +                 if let Some(node) = exc_list {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2767:29
[INFO] [stdout]      |
[INFO] [stdout] 2767 |                 for node in exc_var {
[INFO] [stdout]      |                             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2767 -                 for node in exc_var {
[INFO] [stdout] 2767 +                 while let Some(node) = exc_var {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2767 -                 for node in exc_var {
[INFO] [stdout] 2767 +                 if let Some(node) = exc_var {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2771:29
[INFO] [stdout]      |
[INFO] [stdout] 2771 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2771 -                 for node in body {
[INFO] [stdout] 2771 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2771 -                 for node in body {
[INFO] [stdout] 2771 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2806:29
[INFO] [stdout]      |
[INFO] [stdout] 2806 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2806 -                 for node in body {
[INFO] [stdout] 2806 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2806 -                 for node in body {
[INFO] [stdout] 2806 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3067:29
[INFO] [stdout]      |
[INFO] [stdout] 3067 |                 for node in value {
[INFO] [stdout]      |                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3067 -                 for node in value {
[INFO] [stdout] 3067 +                 while let Some(node) = value {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3067 -                 for node in value {
[INFO] [stdout] 3067 +                 if let Some(node) = value {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3129:29
[INFO] [stdout]      |
[INFO] [stdout] 3129 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3129 -                 for node in body {
[INFO] [stdout] 3129 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3129 -                 for node in body {
[INFO] [stdout] 3129 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3144:29
[INFO] [stdout]      |
[INFO] [stdout] 3144 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3144 -                 for node in body {
[INFO] [stdout] 3144 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3144 -                 for node in body {
[INFO] [stdout] 3144 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3152:29
[INFO] [stdout]      |
[INFO] [stdout] 3152 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3152 -                 for node in body {
[INFO] [stdout] 3152 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3152 -                 for node in body {
[INFO] [stdout] 3152 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `process_id` and `no_workspace` are never read
[INFO] [stdout]    --> src/persistence.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Persistence {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     process_id: Option<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 156 |     no_workspace: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/main.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for diagnostic in change_diagnostics {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 109 -         for diagnostic in change_diagnostics {
[INFO] [stdout] 109 +         while let Ok(diagnostic) = change_diagnostics {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 109 -         for diagnostic in change_diagnostics {
[INFO] [stdout] 109 +         if let Ok(diagnostic) = change_diagnostics {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:474:21
[INFO] [stdout]     |
[INFO] [stdout] 474 | /                     self.reindex_modified_file_without_commit(
[INFO] [stdout] 475 | |                         &text,
[INFO] [stdout] 476 | |                         relative_path,
[INFO] [stdout] 477 | |                         &index_writer,
[INFO] [stdout] 478 | |                         true,
[INFO] [stdout] 479 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 474 |                     let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 | /                         self.reindex_modified_file_without_commit(
[INFO] [stdout] 565 | |                             &text,
[INFO] [stdout] 566 | |                             relative_path,
[INFO] [stdout] 567 | |                             &index_writer,
[INFO] [stdout] 568 | |                             false,
[INFO] [stdout] 569 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |                         let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/persistence.rs:695:25
[INFO] [stdout]     |
[INFO] [stdout] 695 | /                         self.reindex_modified_file_without_commit(
[INFO] [stdout] 696 | |                             &text,
[INFO] [stdout] 697 | |                             relative_path,
[INFO] [stdout] 698 | |                             &index_writer,
[INFO] [stdout] 699 | |                             false,
[INFO] [stdout] 700 | |                         );
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 695 |                         let _ = self.reindex_modified_file_without_commit(
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/persistence.rs:808:45
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout]     |                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 808 -                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout] 808 +                 while let Some(unwrapped_diagnostic) = diagnostic {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 808 -                 for unwrapped_diagnostic in diagnostic {
[INFO] [stdout] 808 +                 if let Some(unwrapped_diagnostic) = diagnostic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:1789:35
[INFO] [stdout]      |
[INFO] [stdout] 1789 |                 for child_node in args {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1789 -                 for child_node in args {
[INFO] [stdout] 1789 +                 while let Some(child_node) = args {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1789 -                 for child_node in args {
[INFO] [stdout] 1789 +                 if let Some(child_node) = args {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:1934:39
[INFO] [stdout]      |
[INFO] [stdout] 1934 |                     for child_node in body {
[INFO] [stdout]      |                                       ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1934 -                     for child_node in body {
[INFO] [stdout] 1934 +                     while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1934 -                     for child_node in body {
[INFO] [stdout] 1934 +                     if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2207:35
[INFO] [stdout]      |
[INFO] [stdout] 2207 |                 for child_node in body {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2207 -                 for child_node in body {
[INFO] [stdout] 2207 +                 while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2207 -                 for child_node in body {
[INFO] [stdout] 2207 +                 if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2639:39
[INFO] [stdout]      |
[INFO] [stdout] 2639 |                     for child_node in body {
[INFO] [stdout]      |                                       ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2639 -                     for child_node in body {
[INFO] [stdout] 2639 +                     while let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2639 -                     for child_node in body {
[INFO] [stdout] 2639 +                     if let Some(child_node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2713:29
[INFO] [stdout]      |
[INFO] [stdout] 2713 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2713 -                 for node in body {
[INFO] [stdout] 2713 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2713 -                 for node in body {
[INFO] [stdout] 2713 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2719:29
[INFO] [stdout]      |
[INFO] [stdout] 2719 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2719 -                 for node in body {
[INFO] [stdout] 2719 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2719 -                 for node in body {
[INFO] [stdout] 2719 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2737:29
[INFO] [stdout]      |
[INFO] [stdout] 2737 |                 for node in options {
[INFO] [stdout]      |                             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2737 -                 for node in options {
[INFO] [stdout] 2737 +                 while let Some(node) = options {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2737 -                 for node in options {
[INFO] [stdout] 2737 +                 if let Some(node) = options {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2748:29
[INFO] [stdout]      |
[INFO] [stdout] 2748 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2748 -                 for node in body {
[INFO] [stdout] 2748 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2748 -                 for node in body {
[INFO] [stdout] 2748 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2763:29
[INFO] [stdout]      |
[INFO] [stdout] 2763 |                 for node in exc_list {
[INFO] [stdout]      |                             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2763 -                 for node in exc_list {
[INFO] [stdout] 2763 +                 while let Some(node) = exc_list {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2763 -                 for node in exc_list {
[INFO] [stdout] 2763 +                 if let Some(node) = exc_list {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2767:29
[INFO] [stdout]      |
[INFO] [stdout] 2767 |                 for node in exc_var {
[INFO] [stdout]      |                             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2767 -                 for node in exc_var {
[INFO] [stdout] 2767 +                 while let Some(node) = exc_var {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2767 -                 for node in exc_var {
[INFO] [stdout] 2767 +                 if let Some(node) = exc_var {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2771:29
[INFO] [stdout]      |
[INFO] [stdout] 2771 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2771 -                 for node in body {
[INFO] [stdout] 2771 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2771 -                 for node in body {
[INFO] [stdout] 2771 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:2806:29
[INFO] [stdout]      |
[INFO] [stdout] 2806 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2806 -                 for node in body {
[INFO] [stdout] 2806 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2806 -                 for node in body {
[INFO] [stdout] 2806 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3067:29
[INFO] [stdout]      |
[INFO] [stdout] 3067 |                 for node in value {
[INFO] [stdout]      |                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3067 -                 for node in value {
[INFO] [stdout] 3067 +                 while let Some(node) = value {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3067 -                 for node in value {
[INFO] [stdout] 3067 +                 if let Some(node) = value {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3129:29
[INFO] [stdout]      |
[INFO] [stdout] 3129 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3129 -                 for node in body {
[INFO] [stdout] 3129 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3129 -                 for node in body {
[INFO] [stdout] 3129 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3144:29
[INFO] [stdout]      |
[INFO] [stdout] 3144 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3144 -                 for node in body {
[INFO] [stdout] 3144 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3144 -                 for node in body {
[INFO] [stdout] 3144 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/persistence.rs:3152:29
[INFO] [stdout]      |
[INFO] [stdout] 3152 |                 for node in body {
[INFO] [stdout]      |                             ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 3152 -                 for node in body {
[INFO] [stdout] 3152 +                 while let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 3152 -                 for node in body {
[INFO] [stdout] 3152 +                 if let Some(node) = body {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.91s
[INFO] running `Command { std: "docker" "inspect" "8d04e265c217f967c7c90b2e5caa53fbce149c2e95af6b28b4e0e57d8ff87d7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d04e265c217f967c7c90b2e5caa53fbce149c2e95af6b28b4e0e57d8ff87d7a", kill_on_drop: false }`
[INFO] [stdout] 8d04e265c217f967c7c90b2e5caa53fbce149c2e95af6b28b4e0e57d8ff87d7a
