[INFO] cloning repository https://github.com/jyasuu/inverted-index-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jyasuu/inverted-index-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjyasuu%2Finverted-index-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjyasuu%2Finverted-index-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 51748c8d42e40ca4f371ecdea2995ec1c888df17
[INFO] checking jyasuu/inverted-index-rs against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjyasuu%2Finverted-index-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jyasuu/inverted-index-rs
[INFO] finished tweaking git repo https://github.com/jyasuu/inverted-index-rs
[INFO] tweaked toml for git repo https://github.com/jyasuu/inverted-index-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jyasuu/inverted-index-rs on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jyasuu/inverted-index-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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3080803803fb8c3236fb39cd324b5b58d8c1d6734f6d11f18ec6d6785a2599f8
[INFO] running `Command { std: "docker" "start" "-a" "3080803803fb8c3236fb39cd324b5b58d8c1d6734f6d11f18ec6d6785a2599f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3080803803fb8c3236fb39cd324b5b58d8c1d6734f6d11f18ec6d6785a2599f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3080803803fb8c3236fb39cd324b5b58d8c1d6734f6d11f18ec6d6785a2599f8", kill_on_drop: false }`
[INFO] [stdout] 3080803803fb8c3236fb39cd324b5b58d8c1d6734f6d11f18ec6d6785a2599f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 584132be401931c3e4cb83a8c41ce767dc6fe3e2651f59b44348e7176b15f26b
[INFO] running `Command { std: "docker" "start" "-a" "584132be401931c3e4cb83a8c41ce767dc6fe3e2651f59b44348e7176b15f26b", kill_on_drop: false }`
[INFO] [stderr]     Checking inverted-index-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> examples/advanced_usage.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[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: `std::time::Instant`
[INFO] [stdout]  --> examples/benchmark_demo.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `specialized_analyzers_example` is never used
[INFO] [stdout]    --> examples/advanced_usage.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn specialized_analyzers_example() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_practices_example` is never used
[INFO] [stdout]    --> examples/advanced_usage.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn best_practices_example() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advanced_benchmark_scenarios` is never used
[INFO] [stdout]   --> examples/benchmark_demo.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn advanced_benchmark_scenarios() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `real_world_expectations` is never used
[INFO] [stdout]    --> examples/benchmark_demo.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn real_world_expectations() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/search.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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: `HashSet`
[INFO] [stdout]  --> src/search.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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 variable: `doc_length`
[INFO] [stdout]    --> src/search.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn term_frequency(term_freq: usize, doc_length: usize) -> f64 {
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_doc_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_len`
[INFO] [stdout]    --> src/search.rs:310:54
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn extract_snippet(text: &str, match_pos: usize, match_len: usize, max_length: usize) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `doc_length`
[INFO] [stdout]    --> src/search.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn term_frequency(term_freq: usize, doc_length: usize) -> f64 {
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_doc_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_len`
[INFO] [stdout]    --> src/search.rs:310:54
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn extract_snippet(text: &str, match_pos: usize, match_len: usize, max_length: usize) -> String {
[INFO] [stdout]     |                                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field_name` is never read
[INFO] [stdout]   --> src/inverted_index.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct TermOccurrence {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 22 |     pub doc_id: u64,
[INFO] [stdout] 23 |     pub field_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TermOccurrence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_tokens` and `average_document_length` are never read
[INFO] [stdout]   --> src/inverted_index.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct IndexStatistics {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub total_tokens: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub average_document_length: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndexStatistics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_document` is never used
[INFO] [stdout]    --> src/inverted_index.rs:642:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl InvertedIndex {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub fn get_document(&self, doc_id: u64) -> Option<&Document> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TextArray` and `Date` are never constructed
[INFO] [stdout]   --> src/document.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum FieldType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     TextArray(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     /// Date field (stored as timestamp)
[INFO] [stdout] 16 |     Date(i64),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stored` is never read
[INFO] [stdout]   --> src/document.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Field {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub stored: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_boost`, `indexed`, and `stored` are never used
[INFO] [stdout]   --> src/document.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Field {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn with_boost(mut self, boost: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn indexed(mut self, indexed: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stored(mut self, stored: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_field_with_config`, `get_field`, `with_boost`, `get_stored_fields`, `field_count`, and `get_all_text` are never used
[INFO] [stdout]    --> src/document.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Document {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn add_field_with_config(&mut self, field: Field) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_field(&self, name: &str) -> Option<&Field> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn with_boost(mut self, boost: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_stored_fields(&self) -> Vec<&Field> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn field_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_all_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_field_score` and `with_highlight` are never used
[INFO] [stdout]   --> src/search.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SearchResult {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_field_score(mut self, field: String, score: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn with_highlight(mut self, field: String, snippet: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Not` is never constructed
[INFO] [stdout]   --> src/search.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum BooleanOperator {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 51 |     Not,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BooleanOperator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Query` is never used
[INFO] [stdout]   --> src/search.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum Query {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BooleanClause` is never constructed
[INFO] [stdout]    --> src/search.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct BooleanClause {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `must`, `should`, and `must_not` are never used
[INFO] [stdout]    --> src/search.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl BooleanClause {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 112 |     pub fn must(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn should(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn must_not(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchConfig` is never constructed
[INFO] [stdout]    --> src/search.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct SearchConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/search.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl SearchConfig {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 174 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn with_limit(mut self, limit: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn with_offset(mut self, offset: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn with_fields(mut self, fields: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn with_field_boost(mut self, field: String, boost: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn with_highlighting(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn with_min_score(mut self, min_score: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `bm25` and `cosine_similarity` are never used
[INFO] [stdout]    --> src/search.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl Scorer {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn bm25(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn cosine_similarity(vec1: &[f64], vec2: &[f64]) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Highlighter` is never constructed
[INFO] [stdout]    --> src/search.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct Highlighter;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `highlight`, `extract_snippet`, and `highlight_term` are never used
[INFO] [stdout]    --> src/search.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | impl Highlighter {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 283 |     /// Generate highlighted snippets for matched terms in text
[INFO] [stdout] 284 |     pub fn highlight(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn extract_snippet(text: &str, match_pos: usize, match_len: usize, max_length: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn highlight_term(text: &str, term: &str, pre_tag: &str, post_tag: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchFacet` is never constructed
[INFO] [stdout]    --> src/search.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct SearchFacet {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_value` are never used
[INFO] [stdout]    --> src/search.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl SearchFacet {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 356 |     pub fn new(field: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub fn add_value(&mut self, value: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_stop_words`, `with_lowercase`, and `with_token_length_limits` are never used
[INFO] [stdout]   --> src/analyzer.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleAnalyzer {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_stop_words(mut self, stop_words: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_lowercase(mut self, lowercase: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn with_token_length_limits(mut self, min: usize, max: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_ngrams` is never used
[INFO] [stdout]    --> src/analyzer.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl AdvancedAnalyzer {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn with_ngrams(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldAnalyzer` is never constructed
[INFO] [stdout]    --> src/analyzer.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct FieldAnalyzer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_case_preserved_fields`, and `analyze_field` are never used
[INFO] [stdout]    --> src/analyzer.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl FieldAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 210 |     pub fn new(analyzer: Box<dyn Analyzer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn with_case_preserved_fields(mut self, fields: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn analyze_field(&self, field_name: &str, text: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_similar` is never used
[INFO] [stdout]    --> src/analyzer.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn is_similar(s1: &str, s2: &str, max_distance: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field_name` is never read
[INFO] [stdout]   --> src/inverted_index.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct TermOccurrence {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 22 |     pub doc_id: u64,
[INFO] [stdout] 23 |     pub field_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TermOccurrence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_tokens` and `average_document_length` are never read
[INFO] [stdout]   --> src/inverted_index.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct IndexStatistics {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub total_tokens: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub average_document_length: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndexStatistics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_document` is never used
[INFO] [stdout]    --> src/inverted_index.rs:642:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl InvertedIndex {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub fn get_document(&self, doc_id: u64) -> Option<&Document> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TextArray` and `Date` are never constructed
[INFO] [stdout]   --> src/document.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum FieldType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     TextArray(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     /// Date field (stored as timestamp)
[INFO] [stdout] 16 |     Date(i64),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stored` is never read
[INFO] [stdout]   --> src/document.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Field {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub stored: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_boost`, `indexed`, and `stored` are never used
[INFO] [stdout]   --> src/document.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Field {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn with_boost(mut self, boost: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn indexed(mut self, indexed: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stored(mut self, stored: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_field_with_config`, `with_boost`, `get_stored_fields`, `field_count`, and `get_all_text` are never used
[INFO] [stdout]    --> src/document.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Document {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn add_field_with_config(&mut self, field: Field) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn with_boost(mut self, boost: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_stored_fields(&self) -> Vec<&Field> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn field_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_all_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_field_score` and `with_highlight` are never used
[INFO] [stdout]   --> src/search.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SearchResult {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_field_score(mut self, field: String, score: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn with_highlight(mut self, field: String, snippet: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Not` is never constructed
[INFO] [stdout]   --> src/search.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum BooleanOperator {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 51 |     Not,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BooleanOperator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Query` is never used
[INFO] [stdout]   --> src/search.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum Query {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BooleanClause` is never constructed
[INFO] [stdout]    --> src/search.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct BooleanClause {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `must`, `should`, and `must_not` are never used
[INFO] [stdout]    --> src/search.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl BooleanClause {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 112 |     pub fn must(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn should(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn must_not(query: Query) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchConfig` is never constructed
[INFO] [stdout]    --> src/search.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct SearchConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/search.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl SearchConfig {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 174 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn with_limit(mut self, limit: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn with_offset(mut self, offset: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn with_fields(mut self, fields: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn with_field_boost(mut self, field: String, boost: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn with_highlighting(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn with_min_score(mut self, min_score: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bm25` is never used
[INFO] [stdout]    --> src/search.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl Scorer {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn bm25(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchFacet` is never constructed
[INFO] [stdout]    --> src/search.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct SearchFacet {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_value` are never used
[INFO] [stdout]    --> src/search.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl SearchFacet {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 356 |     pub fn new(field: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub fn add_value(&mut self, value: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_stop_words`, `with_lowercase`, and `with_token_length_limits` are never used
[INFO] [stdout]   --> src/analyzer.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleAnalyzer {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_stop_words(mut self, stop_words: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_lowercase(mut self, lowercase: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn with_token_length_limits(mut self, min: usize, max: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_ngrams` is never used
[INFO] [stdout]    --> src/analyzer.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl AdvancedAnalyzer {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn with_ngrams(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldAnalyzer` is never constructed
[INFO] [stdout]    --> src/analyzer.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct FieldAnalyzer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_case_preserved_fields`, and `analyze_field` are never used
[INFO] [stdout]    --> src/analyzer.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl FieldAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 210 |     pub fn new(analyzer: Box<dyn Analyzer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn with_case_preserved_fields(mut self, fields: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn analyze_field(&self, field_name: &str, text: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_similar` is never used
[INFO] [stdout]    --> src/analyzer.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn is_similar(s1: &str, s2: &str, max_distance: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] running `Command { std: "docker" "inspect" "584132be401931c3e4cb83a8c41ce767dc6fe3e2651f59b44348e7176b15f26b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "584132be401931c3e4cb83a8c41ce767dc6fe3e2651f59b44348e7176b15f26b", kill_on_drop: false }`
[INFO] [stdout] 584132be401931c3e4cb83a8c41ce767dc6fe3e2651f59b44348e7176b15f26b
