[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] testing pheen/fuzzy_ruby_server against beta-2025-10-28 for beta-1.92-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpheen%2Ffuzzy_ruby_server" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/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-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pheen/fuzzy_ruby_server on toolchain beta-2025-10-28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 55ba272635cec2ccc4ae9247ed0d53cadce20ae1b72727392b9adb6358edf7cd [INFO] running `Command { std: "docker" "start" "-a" "55ba272635cec2ccc4ae9247ed0d53cadce20ae1b72727392b9adb6358edf7cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55ba272635cec2ccc4ae9247ed0d53cadce20ae1b72727392b9adb6358edf7cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55ba272635cec2ccc4ae9247ed0d53cadce20ae1b72727392b9adb6358edf7cd", kill_on_drop: false }` [INFO] [stdout] 55ba272635cec2ccc4ae9247ed0d53cadce20ae1b72727392b9adb6358edf7cd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7b9ded05a203c9dbe34b2ef8f95ef527ff22ab064d3edae67a0e7f714e9c157 [INFO] running `Command { std: "docker" "start" "-a" "a7b9ded05a203c9dbe34b2ef8f95ef527ff22ab064d3edae67a0e7f714e9c157", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.150 [INFO] [stderr] Compiling serde v1.0.192 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling futures-core v0.3.29 [INFO] [stderr] Compiling async-trait v0.1.74 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ahash v0.8.6 [INFO] [stderr] Compiling smallvec v1.11.2 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling rustix v0.38.24 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling linux-raw-sys v0.4.11 [INFO] [stderr] Compiling bitflags v2.4.1 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling futures-task v0.3.29 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling zerocopy v0.7.26 [INFO] [stderr] Compiling futures-channel v0.3.29 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling futures-sink v0.3.29 [INFO] [stderr] Compiling ownedbytes v0.6.0 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling allocator-api2 v0.2.16 [INFO] [stderr] Compiling futures-util v0.3.29 [INFO] [stderr] Compiling serde_json v1.0.108 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Compiling aho-corasick v1.1.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.3 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling jobserver v0.1.27 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling thiserror v1.0.50 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling futures-io v0.3.29 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling ryu v1.0.15 [INFO] [stderr] Compiling crossbeam-queue v0.3.8 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling hashbrown v0.14.2 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Compiling bitpacking v0.8.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling platforms v2.0.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling murmurhash32 v0.3.0 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling mio v0.8.9 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling getrandom v0.2.11 [INFO] [stderr] Compiling rayon v1.8.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling zstd-sys v2.0.9+zstd.1.5.5 [INFO] [stderr] Compiling blake3 v1.5.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling tower-service v0.3.2 [INFO] [stderr] Compiling tower-layer v0.3.2 [INFO] [stderr] Compiling lib-ruby-parser v4.0.6+ruby-3.1.2 [INFO] [stderr] Compiling fastrand v2.0.1 [INFO] [stderr] Compiling fastdivide v0.4.0 [INFO] [stderr] Compiling measure_time v0.8.2 [INFO] [stderr] Compiling crossbeam v0.8.2 [INFO] [stderr] Compiling nix v0.23.2 [INFO] [stderr] Compiling tantivy-fst v0.4.0 [INFO] [stderr] Compiling tempfile v3.8.1 [INFO] [stderr] Compiling fs4 v0.6.6 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling lru v0.11.1 [INFO] [stderr] Compiling memmap2 v0.7.1 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Compiling termcolor v1.4.0 [INFO] [stderr] Compiling lib-ruby-parser-ast v0.55.0 [INFO] [stderr] Compiling arc-swap v1.6.0 [INFO] [stderr] Compiling levenshtein_automata v0.2.1 [INFO] [stderr] Compiling lz4_flex v0.11.1 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling alloc-from-pool v1.0.5 [INFO] [stderr] Compiling htmlescape v0.3.1 [INFO] [stderr] Compiling census v0.4.1 [INFO] [stderr] Compiling constant_time_eq v0.3.0 [INFO] [stderr] Compiling quit_macros v2.0.0 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling unescape v0.1.0 [INFO] [stderr] Compiling oneshot v0.1.6 [INFO] [stderr] Compiling base64 v0.21.5 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling quit v2.0.0 [INFO] [stderr] Compiling tantivy-bitpacker v0.5.0 [INFO] [stderr] Compiling tantivy-query-grammar v0.21.0 [INFO] [stderr] Compiling jwalk v0.8.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling regex v1.10.2 [INFO] [stderr] Compiling env_logger v0.10.1 [INFO] [stderr] Compiling tower-lsp-macros v0.8.0 [INFO] [stderr] Compiling auto_impl v1.1.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling serde_derive v1.0.192 [INFO] [stderr] Compiling futures-macro v0.3.29 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling serde_repr v0.1.17 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Compiling tokio v1.34.0 [INFO] [stderr] Compiling phf v0.11.2 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling psutil v3.2.2 [INFO] [stderr] Compiling zstd v0.12.4 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling futures v0.3.29 [INFO] [stderr] Compiling tokio-util v0.7.10 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling sketches-ddsketch v0.2.1 [INFO] [stderr] Compiling rust-stemmers v1.2.0 [INFO] [stderr] Compiling tantivy-tokenizer-api v0.2.0 [INFO] [stderr] Compiling uuid v1.5.0 [INFO] [stderr] Compiling lsp-types v0.94.1 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling tantivy-common v0.6.0 [INFO] [stderr] Compiling tantivy-sstable v0.2.0 [INFO] [stderr] Compiling tantivy-stacker v0.2.0 [INFO] [stderr] Compiling tantivy-columnar v0.2.0 [INFO] [stderr] Compiling tantivy v0.21.1 [INFO] [stderr] Compiling tower-lsp v0.19.0 [INFO] [stderr] Compiling 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: 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, [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 2m 25s [INFO] running `Command { std: "docker" "inspect" "a7b9ded05a203c9dbe34b2ef8f95ef527ff22ab064d3edae67a0e7f714e9c157", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7b9ded05a203c9dbe34b2ef8f95ef527ff22ab064d3edae67a0e7f714e9c157", kill_on_drop: false }` [INFO] [stdout] a7b9ded05a203c9dbe34b2ef8f95ef527ff22ab064d3edae67a0e7f714e9c157 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8b901c984fcbd0263377ec32df2d5d110b16ea9cc451fc9b44efe2dffb6bd74f [INFO] running `Command { std: "docker" "start" "-a" "8b901c984fcbd0263377ec32df2d5d110b16ea9cc451fc9b44efe2dffb6bd74f", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker [INFO] [stderr] Compiling 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: 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, [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 `test` profile [unoptimized + debuginfo] target(s) in 1.57s [INFO] running `Command { std: "docker" "inspect" "8b901c984fcbd0263377ec32df2d5d110b16ea9cc451fc9b44efe2dffb6bd74f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b901c984fcbd0263377ec32df2d5d110b16ea9cc451fc9b44efe2dffb6bd74f", kill_on_drop: false }` [INFO] [stdout] 8b901c984fcbd0263377ec32df2d5d110b16ea9cc451fc9b44efe2dffb6bd74f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4a8737d6bf4a713ee44d877fdcf11b9fee267711a05bd205fdd107710b4980b2 [INFO] running `Command { std: "docker" "start" "-a" "4a8737d6bf4a713ee44d877fdcf11b9fee267711a05bd205fdd107710b4980b2", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: build [INFO] [stderr] warning: unused manifest key: target.x86_64-unknown-linux-gnu.linker [INFO] [stderr] warning: use of deprecated field `tower_lsp::lsp_types::SymbolInformation::deprecated`: Use tags instead [INFO] [stderr] --> src/persistence.rs:1601:17 [INFO] [stderr] | [INFO] [stderr] 1601 | deprecated: None, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `process_id` and `no_workspace` are never read [INFO] [stderr] --> src/persistence.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 148 | pub struct Persistence { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 155 | process_id: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 156 | no_workspace: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/main.rs:109:27 [INFO] [stderr] | [INFO] [stderr] 109 | for diagnostic in change_diagnostics { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 109 - for diagnostic in change_diagnostics { [INFO] [stderr] 109 + while let Ok(diagnostic) = change_diagnostics { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 109 - for diagnostic in change_diagnostics { [INFO] [stderr] 109 + if let Ok(diagnostic) = change_diagnostics { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence.rs:474:21 [INFO] [stderr] | [INFO] [stderr] 474 | / self.reindex_modified_file_without_commit( [INFO] [stderr] 475 | | &text, [INFO] [stderr] 476 | | relative_path, [INFO] [stderr] 477 | | &index_writer, [INFO] [stderr] 478 | | true, [INFO] [stderr] 479 | | ); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 474 | let _ = self.reindex_modified_file_without_commit( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence.rs:564:25 [INFO] [stderr] | [INFO] [stderr] 564 | / self.reindex_modified_file_without_commit( [INFO] [stderr] 565 | | &text, [INFO] [stderr] 566 | | relative_path, [INFO] [stderr] 567 | | &index_writer, [INFO] [stderr] 568 | | false, [INFO] [stderr] 569 | | ); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 564 | let _ = self.reindex_modified_file_without_commit( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence.rs:695:25 [INFO] [stderr] | [INFO] [stderr] 695 | / self.reindex_modified_file_without_commit( [INFO] [stderr] 696 | | &text, [INFO] [stderr] 697 | | relative_path, [INFO] [stderr] 698 | | &index_writer, [INFO] [stderr] 699 | | false, [INFO] [stderr] 700 | | ); [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 695 | let _ = self.reindex_modified_file_without_commit( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:808:45 [INFO] [stderr] | [INFO] [stderr] 808 | for unwrapped_diagnostic in diagnostic { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 808 - for unwrapped_diagnostic in diagnostic { [INFO] [stderr] 808 + while let Some(unwrapped_diagnostic) = diagnostic { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 808 - for unwrapped_diagnostic in diagnostic { [INFO] [stderr] 808 + if let Some(unwrapped_diagnostic) = diagnostic { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:1789:35 [INFO] [stderr] | [INFO] [stderr] 1789 | for child_node in args { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 1789 - for child_node in args { [INFO] [stderr] 1789 + while let Some(child_node) = args { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 1789 - for child_node in args { [INFO] [stderr] 1789 + if let Some(child_node) = args { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:1934:39 [INFO] [stderr] | [INFO] [stderr] 1934 | for child_node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 1934 - for child_node in body { [INFO] [stderr] 1934 + while let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 1934 - for child_node in body { [INFO] [stderr] 1934 + if let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2207:35 [INFO] [stderr] | [INFO] [stderr] 2207 | for child_node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2207 - for child_node in body { [INFO] [stderr] 2207 + while let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2207 - for child_node in body { [INFO] [stderr] 2207 + if let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2639:39 [INFO] [stderr] | [INFO] [stderr] 2639 | for child_node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2639 - for child_node in body { [INFO] [stderr] 2639 + while let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2639 - for child_node in body { [INFO] [stderr] 2639 + if let Some(child_node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2713:29 [INFO] [stderr] | [INFO] [stderr] 2713 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2713 - for node in body { [INFO] [stderr] 2713 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2713 - for node in body { [INFO] [stderr] 2713 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2719:29 [INFO] [stderr] | [INFO] [stderr] 2719 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2719 - for node in body { [INFO] [stderr] 2719 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2719 - for node in body { [INFO] [stderr] 2719 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2737:29 [INFO] [stderr] | [INFO] [stderr] 2737 | for node in options { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2737 - for node in options { [INFO] [stderr] 2737 + while let Some(node) = options { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2737 - for node in options { [INFO] [stderr] 2737 + if let Some(node) = options { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2748:29 [INFO] [stderr] | [INFO] [stderr] 2748 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2748 - for node in body { [INFO] [stderr] 2748 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2748 - for node in body { [INFO] [stderr] 2748 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2763:29 [INFO] [stderr] | [INFO] [stderr] 2763 | for node in exc_list { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2763 - for node in exc_list { [INFO] [stderr] 2763 + while let Some(node) = exc_list { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2763 - for node in exc_list { [INFO] [stderr] 2763 + if let Some(node) = exc_list { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2767:29 [INFO] [stderr] | [INFO] [stderr] 2767 | for node in exc_var { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2767 - for node in exc_var { [INFO] [stderr] 2767 + while let Some(node) = exc_var { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2767 - for node in exc_var { [INFO] [stderr] 2767 + if let Some(node) = exc_var { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2771:29 [INFO] [stderr] | [INFO] [stderr] 2771 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2771 - for node in body { [INFO] [stderr] 2771 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2771 - for node in body { [INFO] [stderr] 2771 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:2806:29 [INFO] [stderr] | [INFO] [stderr] 2806 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 2806 - for node in body { [INFO] [stderr] 2806 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 2806 - for node in body { [INFO] [stderr] 2806 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:3067:29 [INFO] [stderr] | [INFO] [stderr] 3067 | for node in value { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 3067 - for node in value { [INFO] [stderr] 3067 + while let Some(node) = value { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 3067 - for node in value { [INFO] [stderr] 3067 + if let Some(node) = value { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:3129:29 [INFO] [stderr] | [INFO] [stderr] 3129 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 3129 - for node in body { [INFO] [stderr] 3129 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 3129 - for node in body { [INFO] [stderr] 3129 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:3144:29 [INFO] [stderr] | [INFO] [stderr] 3144 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 3144 - for node in body { [INFO] [stderr] 3144 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 3144 - for node in body { [INFO] [stderr] 3144 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/persistence.rs:3152:29 [INFO] [stderr] | [INFO] [stderr] 3152 | for node in body { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 3152 - for node in body { [INFO] [stderr] 3152 + while let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 3152 - for node in body { [INFO] [stderr] 3152 + if let Some(node) = body { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `fuzzy` (bin "fuzzy" test) generated 23 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fuzzy-3446c09c168bc2d4) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4a8737d6bf4a713ee44d877fdcf11b9fee267711a05bd205fdd107710b4980b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4a8737d6bf4a713ee44d877fdcf11b9fee267711a05bd205fdd107710b4980b2", kill_on_drop: false }` [INFO] [stdout] 4a8737d6bf4a713ee44d877fdcf11b9fee267711a05bd205fdd107710b4980b2