[INFO] cloning repository https://github.com/OmniCloudOrg/Linguist-RS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OmniCloudOrg/Linguist-RS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmniCloudOrg%2FLinguist-RS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmniCloudOrg%2FLinguist-RS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f756a4939de0defe42cef6cd0571a5f8632c3f6a
[INFO] building OmniCloudOrg/Linguist-RS against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmniCloudOrg%2FLinguist-RS" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/OmniCloudOrg/Linguist-RS
[INFO] finished tweaking git repo https://github.com/OmniCloudOrg/Linguist-RS
[INFO] tweaked toml for git repo https://github.com/OmniCloudOrg/Linguist-RS written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/OmniCloudOrg/Linguist-RS on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/OmniCloudOrg/Linguist-RS 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded once_cell v1.21.1
[INFO] [stderr]   Downloaded blob v0.3.0
[INFO] [stderr]   Downloaded colorchoice v1.0.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.94
[INFO] [stderr]   Downloaded clap_derive v4.5.32
[INFO] [stderr]   Downloaded base64 v0.10.1
[INFO] [stderr]   Downloaded anstyle-parse v0.2.6
[INFO] [stderr]   Downloaded litemap v0.7.5
[INFO] [stderr]   Downloaded clap v4.5.32
[INFO] [stderr]   Downloaded git2 v0.17.2
[INFO] [stderr]   Downloaded fancy-regex v0.11.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.106
[INFO] [stderr]   Downloaded rustix v1.0.3
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.7
[INFO] [stderr]   Downloaded indexmap v2.8.0
[INFO] [stderr]   Downloaded clap_builder v4.5.32
[INFO] [stderr]   Downloaded cc v1.2.16
[INFO] [stderr]   Downloaded anstream v0.6.18
[INFO] [stderr]   Downloaded encoding_rs_io v0.1.7
[INFO] [stderr]   Downloaded memmap2 v0.7.1
[INFO] [stderr]   Downloaded libc v0.2.171
[INFO] [stderr]   Downloaded syn v2.0.100
[INFO] [stderr]   Downloaded anstyle-query v1.1.2
[INFO] [stderr]   Downloaded libgit2-sys v0.15.2+1.6.4
[INFO] [stderr]   Downloaded libssh2-sys v0.3.1
[INFO] [stderr]   Downloaded linux-raw-sys v0.9.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d77f238f889f3eae2772997d993d33a76bd4a040a97a1cfd178b7a8aecf87a85
[INFO] running `Command { std: "docker" "start" "-a" "d77f238f889f3eae2772997d993d33a76bd4a040a97a1cfd178b7a8aecf87a85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d77f238f889f3eae2772997d993d33a76bd4a040a97a1cfd178b7a8aecf87a85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d77f238f889f3eae2772997d993d33a76bd4a040a97a1cfd178b7a8aecf87a85", kill_on_drop: false }`
[INFO] [stdout] d77f238f889f3eae2772997d993d33a76bd4a040a97a1cfd178b7a8aecf87a85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1cc741ef60edd0c7633a0c4fd6a737ac7111ccae780ec0ce5f95db96d842f0af
[INFO] running `Command { std: "docker" "start" "-a" "1cc741ef60edd0c7633a0c4fd6a737ac7111ccae780ec0ce5f95db96d842f0af", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling cc v1.2.16
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling clap_builder v4.5.32
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling base64 v0.10.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.15.2+1.6.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling log v0.4.26
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling memmap2 v0.7.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling clap v4.5.32
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling blob v0.3.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling git2 v0.17.2
[INFO] [stderr]    Compiling linguist v1.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/blob.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encoding_rs_io::DecodeReaderBytesBuilder`
[INFO] [stdout]   --> src/blob.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use encoding_rs_io::DecodeReaderBytesBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `memmap2::Mmap`
[INFO] [stdout]   --> src/blob.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use memmap2::Mmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/blob.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{Error, Result};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/classifier.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/generated.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/heuristics.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/language.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Result`
[INFO] [stdout]   --> src/language.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/strategy/modeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/strategy/shebang.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/vendor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/grammars.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/languages.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/languages.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/data/languages.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> src/blob.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 let sample = &self.data()[..sample_size];
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/heuristics.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let path = Path::new(filename.to_lowercase().as_str());
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/heuristics.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut cpp_extensions = vec![".h".to_string()];
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEGABYTE` is never used
[INFO] [stdout]   --> src/blob.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MEGABYTE: usize = 1024 * 1024;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DOCUMENT_FREQUENCY` is never used
[INFO] [stdout]   --> src/classifier.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const MIN_DOCUMENT_FREQUENCY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenFrequencies` is never used
[INFO] [stdout]   --> src/classifier.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type TokenFrequencies = HashMap<Token, f64>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LanguageTokens` is never used
[INFO] [stdout]   --> src/classifier.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type LanguageTokens = HashMap<String, TokenFrequencies>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_term_frequencies`, `calculate_tf_idf`, `l2_normalize`, `similarity`, and `train` are never used
[INFO] [stdout]    --> src/classifier.rs:76:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Classifier {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn calculate_term_frequencies(tokens: &[Token]) -> TokenFrequencies {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn calculate_tf_idf(term_freq: &TokenFrequencies, inverse_class_freq: &TokenFrequencies) -> TokenFrequencies {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn l2_normalize(frequencies: &mut TokenFrequencies) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn similarity(a: &TokenFrequencies, b: &TokenFrequencies) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn train() -> (LanguageTokens, TokenFrequencies) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NegativePattern` and `And` are never constructed
[INFO] [stdout]   --> src/heuristics.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Rule {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     NegativePattern(Regex),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     And(Vec<Rule>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout] 133 |         unsafe { LANGUAGES.as_ref().unwrap() }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&name) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |             if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&alias) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:190:34
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 | /             FILENAME_INDEX
[INFO] [stdout] 217 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:220:53
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:252:37
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 if let Some(idxs) = EXTENSION_INDEX.as_ref().unwrap().get(&ext_str) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:255:38
[INFO] [stdout]     |
[INFO] [stdout] 255 |                         return vec![&LANGUAGES.as_ref().unwrap()[idxs[0]]];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | /             INTERPRETER_INDEX
[INFO] [stdout] 278 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:281:53
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 | /             LANGUAGE_ID_INDEX
[INFO] [stdout] 300 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:303:30
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 .map(|&idx| &LANGUAGES.as_ref().unwrap()[idx])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/repository.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree> {
[INFO] [stdout]     |                 ^^^^^                      ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree<'_>> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Ok(LANGUAGES_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if POPULAR_DATA.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Ok(POPULAR_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s
[INFO] running `Command { std: "docker" "inspect" "1cc741ef60edd0c7633a0c4fd6a737ac7111ccae780ec0ce5f95db96d842f0af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cc741ef60edd0c7633a0c4fd6a737ac7111ccae780ec0ce5f95db96d842f0af", kill_on_drop: false }`
[INFO] [stdout] 1cc741ef60edd0c7633a0c4fd6a737ac7111ccae780ec0ce5f95db96d842f0af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2afd27cd9b7c5dab00dfd16d3e73da7684c8ec0f4d914356857126b783c025e
[INFO] running `Command { std: "docker" "start" "-a" "c2afd27cd9b7c5dab00dfd16d3e73da7684c8ec0f4d914356857126b783c025e", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling rustix v1.0.3
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling linux-raw-sys v0.9.3
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling once_cell v1.21.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/blob.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encoding_rs_io::DecodeReaderBytesBuilder`
[INFO] [stdout]   --> src/blob.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use encoding_rs_io::DecodeReaderBytesBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `memmap2::Mmap`
[INFO] [stdout]   --> src/blob.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use memmap2::Mmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/blob.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{Error, Result};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/classifier.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/generated.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/heuristics.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/language.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Result`
[INFO] [stdout]   --> src/language.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/strategy/modeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/strategy/shebang.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/vendor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/grammars.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/languages.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/languages.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/data/languages.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> src/blob.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 let sample = &self.data()[..sample_size];
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/heuristics.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let path = Path::new(filename.to_lowercase().as_str());
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/heuristics.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut cpp_extensions = vec![".h".to_string()];
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEGABYTE` is never used
[INFO] [stdout]   --> src/blob.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MEGABYTE: usize = 1024 * 1024;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DOCUMENT_FREQUENCY` is never used
[INFO] [stdout]   --> src/classifier.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const MIN_DOCUMENT_FREQUENCY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenFrequencies` is never used
[INFO] [stdout]   --> src/classifier.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type TokenFrequencies = HashMap<Token, f64>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LanguageTokens` is never used
[INFO] [stdout]   --> src/classifier.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type LanguageTokens = HashMap<String, TokenFrequencies>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_term_frequencies`, `calculate_tf_idf`, `l2_normalize`, `similarity`, and `train` are never used
[INFO] [stdout]    --> src/classifier.rs:76:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Classifier {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn calculate_term_frequencies(tokens: &[Token]) -> TokenFrequencies {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn calculate_tf_idf(term_freq: &TokenFrequencies, inverse_class_freq: &TokenFrequencies) -> TokenFrequencies {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn l2_normalize(frequencies: &mut TokenFrequencies) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn similarity(a: &TokenFrequencies, b: &TokenFrequencies) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn train() -> (LanguageTokens, TokenFrequencies) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NegativePattern` and `And` are never constructed
[INFO] [stdout]   --> src/heuristics.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Rule {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     NegativePattern(Regex),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     And(Vec<Rule>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout] 133 |         unsafe { LANGUAGES.as_ref().unwrap() }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&name) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |             if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&alias) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:190:34
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 | /             FILENAME_INDEX
[INFO] [stdout] 217 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:220:53
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:252:37
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 if let Some(idxs) = EXTENSION_INDEX.as_ref().unwrap().get(&ext_str) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:255:38
[INFO] [stdout]     |
[INFO] [stdout] 255 |                         return vec![&LANGUAGES.as_ref().unwrap()[idxs[0]]];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | /             INTERPRETER_INDEX
[INFO] [stdout] 278 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:281:53
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 | /             LANGUAGE_ID_INDEX
[INFO] [stdout] 300 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:303:30
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 .map(|&idx| &LANGUAGES.as_ref().unwrap()[idx])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/repository.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree> {
[INFO] [stdout]     |                 ^^^^^                      ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree<'_>> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Ok(LANGUAGES_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if POPULAR_DATA.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Ok(POPULAR_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling linguist v1.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/blob.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encoding_rs_io::DecodeReaderBytesBuilder`
[INFO] [stdout]   --> src/blob.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use encoding_rs_io::DecodeReaderBytesBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `memmap2::Mmap`
[INFO] [stdout]   --> src/blob.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use memmap2::Mmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/blob.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{Error, Result};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/classifier.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/generated.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/heuristics.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/language.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Result`
[INFO] [stdout]   --> src/language.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/strategy/modeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/strategy/shebang.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/vendor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/grammars.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/languages.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/data/languages.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/data/languages.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> src/blob.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 let sample = &self.data()[..sample_size];
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/heuristics.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let path = Path::new(filename.to_lowercase().as_str());
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/heuristics.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut cpp_extensions = vec![".h".to_string()];
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEGABYTE` is never used
[INFO] [stdout]   --> src/blob.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MEGABYTE: usize = 1024 * 1024;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DOCUMENT_FREQUENCY` is never used
[INFO] [stdout]   --> src/classifier.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const MIN_DOCUMENT_FREQUENCY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LanguageTokens` is never used
[INFO] [stdout]   --> src/classifier.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type LanguageTokens = HashMap<String, TokenFrequencies>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `calculate_tf_idf` and `train` are never used
[INFO] [stdout]    --> src/classifier.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Classifier {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn calculate_tf_idf(term_freq: &TokenFrequencies, inverse_class_freq: &TokenFrequencies) -> TokenFrequencies {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn train() -> (LanguageTokens, TokenFrequencies) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NegativePattern` and `And` are never constructed
[INFO] [stdout]   --> src/heuristics.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Rule {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     NegativePattern(Regex),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     And(Vec<Rule>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout] 133 |         unsafe { LANGUAGES.as_ref().unwrap() }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&name) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 if let Some(idx) = NAME_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |             if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&alias) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:183:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Some(idx) = ALIAS_INDEX.as_ref().unwrap().get(&first_part) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:190:34
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     return Some(&LANGUAGES.as_ref().unwrap()[*idx]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 | /             FILENAME_INDEX
[INFO] [stdout] 217 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:220:53
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:252:37
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 if let Some(idxs) = EXTENSION_INDEX.as_ref().unwrap().get(&ext_str) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:255:38
[INFO] [stdout]     |
[INFO] [stdout] 255 |                         return vec![&LANGUAGES.as_ref().unwrap()[idxs[0]]];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | /             INTERPRETER_INDEX
[INFO] [stdout] 278 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:281:53
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 .map(|idxs| idxs.iter().map(|&idx| &LANGUAGES.as_ref().unwrap()[idx]).collect())
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 | /             LANGUAGE_ID_INDEX
[INFO] [stdout] 300 | |                 .as_ref()
[INFO] [stdout]     | |_________________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/language.rs:303:30
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 .map(|&idx| &LANGUAGES.as_ref().unwrap()[idx])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/repository.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree> {
[INFO] [stdout]     |                 ^^^^^                      ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn get_tree(&self, oid: Oid) -> Result<Tree<'_>> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Ok(LANGUAGES_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if POPULAR_DATA.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/data/languages.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Ok(POPULAR_DATA.as_ref().unwrap().clone())
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.18s
[INFO] running `Command { std: "docker" "inspect" "c2afd27cd9b7c5dab00dfd16d3e73da7684c8ec0f4d914356857126b783c025e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2afd27cd9b7c5dab00dfd16d3e73da7684c8ec0f4d914356857126b783c025e", kill_on_drop: false }`
[INFO] [stdout] c2afd27cd9b7c5dab00dfd16d3e73da7684c8ec0f4d914356857126b783c025e
