[INFO] cloning repository https://github.com/AnchitSingh/micro-search
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AnchitSingh/micro-search" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnchitSingh%2Fmicro-search", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnchitSingh%2Fmicro-search'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4411768cefd0a7dcaeef6dd029729410a90aeb4a
[INFO] testing AnchitSingh/micro-search against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnchitSingh%2Fmicro-search" "/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/AnchitSingh/micro-search
[INFO] finished tweaking git repo https://github.com/AnchitSingh/micro-search
[INFO] tweaked toml for git repo https://github.com/AnchitSingh/micro-search written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AnchitSingh/micro-search on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AnchitSingh/micro-search 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e613592a1c7dc86684830387f5e03aec30abe40ab6a6e4e3707bdc58ddfb9ccf
[INFO] running `Command { std: "docker" "start" "-a" "e613592a1c7dc86684830387f5e03aec30abe40ab6a6e4e3707bdc58ddfb9ccf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e613592a1c7dc86684830387f5e03aec30abe40ab6a6e4e3707bdc58ddfb9ccf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e613592a1c7dc86684830387f5e03aec30abe40ab6a6e4e3707bdc58ddfb9ccf", kill_on_drop: false }`
[INFO] [stdout] e613592a1c7dc86684830387f5e03aec30abe40ab6a6e4e3707bdc58ddfb9ccf
[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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d179ca3a076ce4d0b4503eb111176193b02eacbc098c7c4b593831832c9ea0be
[INFO] running `Command { std: "docker" "start" "-a" "d179ca3a076ce4d0b4503eb111176193b02eacbc098c7c4b593831832c9ea0be", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling napi-sys v2.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling napi-derive-backend v1.0.75
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]    Compiling napi-derive v2.16.13
[INFO] [stderr]    Compiling napi v2.16.17
[INFO] [stderr]    Compiling buggu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/logdb.rs:471:25
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn parse_query(q: &str, config: &LogConfig) -> QueryNode {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_info`
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:846:13
[INFO] [stdout]     |
[INFO] [stdout] 846 |         let entry_info: Option<usize> = {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/config.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LogConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub max_postings: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub stale_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub log_levels: BugguHashSet<u64, u8>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub services: BugguHashSet<u64, u8>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub enable_ngrams: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub max_ngram_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub enable_patterns: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/config.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl LogConfig {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn from_file(path: &str) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn log_level_priority(&self, level: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn service_id(&self, service: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn register_service(&mut self, service: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn should_index_level(&self, level: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn log_level_hashes(&self) -> Vec<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn service_hashes(&self) -> Vec<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn add_log_level(&mut self, level: &str, priority: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn has_log_level_priority(&self, priority: u8) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn stats(&self) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tokens`, `level`, and `service` are never read
[INFO] [stdout]   --> src/logdb.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MetaEntry {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 28 |     /// The sequence of tokens generated from the document's content.
[INFO] [stdout] 29 |     tokens: Vec<Tok>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     /// The log level, if specified (e.g., "INFO", "ERROR").
[INFO] [stdout] 31 |     level: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     /// The service name, if specified.
[INFO] [stdout] 33 |     service: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaEntry` 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: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/logdb.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     NumericRange(&'static str, u64, u64),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^  ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 51 -     NumericRange(&'static str, u64, u64),
[INFO] [stdout] 51 +     NumericRange((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Or` and `Not` are never constructed
[INFO] [stdout]   --> src/logdb.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum QueryNode {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 57 |     Or(Vec<QueryNode>),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 58 |     /// A logical NOT operation, excluding documents that match the child node.
[INFO] [stdout] 59 |     Not(Box<QueryNode>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryNode` 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: fields `max_postings` and `stale_secs` are never read
[INFO] [stdout]   --> src/logdb.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct LogDB {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     max_postings: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     /// The time in seconds after which a document is considered stale.
[INFO] [stdout] 83 |     stale_secs: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogDB` 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 `remove`, `empty`, and `retain_docs` are never used
[INFO] [stdout]    --> src/logdb.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl Posting {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn remove(&mut self, id: DocId) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn empty(&self) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn retain_docs(&mut self, docs: &BugguHashSet<DocId, MetaEntry>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/logdb.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl LogDB {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn with_config(config: LogConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn from_config_file(path: &str) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn query_with_meta(&self, q: &str) -> Vec<(DocId, String, Option<String>, Option<String>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn cleanup_stale(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn rebuild_indexes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn upsert_token(&mut self, s: impl AsRef<str>) -> Tok {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn export_tokens(&self) -> Vec<Tok> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn import_tokens(&mut self, toks: Vec<Tok>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BugguIterMut` is never constructed
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct BugguIterMut<'a, K, V> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | / impl<'a, K, V> BugguIterMut<'a, K, V>
[INFO] [stdout] 243 | | where
[INFO] [stdout] 244 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 245 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |       fn new(storage: &'a mut [BugguBucket<K, V>], remaining: usize) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct BugguOccupiedEntry<'a, K, V>
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 339 |     key: K,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `or_insert`, `key`, and `and_modify` are never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:363:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | / impl<'a, K, V> BugguEntry<'a, K, V>
[INFO] [stdout] 357 | | where
[INFO] [stdout] 358 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 359 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 363 |       pub fn or_insert(self, default: V) -> &'a mut V {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |       pub fn and_modify<F>(self, f: F) -> Self
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key`, `get`, `get_mut`, and `insert` are never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | / impl<'a, K, V> BugguOccupiedEntry<'a, K, V>
[INFO] [stdout] 408 | | where
[INFO] [stdout] 409 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 410 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 414 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |       pub fn get(&self) -> &V {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 435 |       pub fn get_mut(&mut self) -> &mut V {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |       pub fn insert(&mut self, value: V) -> V {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:477:12
[INFO] [stdout]     |
[INFO] [stdout] 470 | / impl<'a, K, V> BugguVacantEntry<'a, K, V>
[INFO] [stdout] 471 | | where
[INFO] [stdout] 472 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 473 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 477 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:577:12
[INFO] [stdout]      |
[INFO] [stdout] 551  | / impl<K, V> BugguHashSet<K, V>
[INFO] [stdout] 552  | | where
[INFO] [stdout] 553  | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 554  | |     V: Clone + Default,
[INFO] [stdout]      | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 577  |       pub fn retain<F>(&mut self, mut f: F)
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 651  |       pub fn fast_intersect_slice(&self, keys: &[K]) -> Vec<K> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 675  |       pub fn create_index_for<F, V2>(&self, field_extractor: F) -> BugguHashSet<V2, Vec<K>>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713  |       pub fn intersect_to_set(&self, other: &BugguHashSet<K, V>) -> BugguHashSet<K, ()>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 918  |       pub fn remove(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983  |       pub fn update(&mut self, key: &K, value: V) -> Option<V> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1012 |       pub fn get_mut(&mut self, key: &K) -> Option<&mut V> {
[INFO] [stdout]      |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1076 |       pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stdout]      |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1081 |       pub fn insert_batch(&mut self, items: Vec<(K, V)>) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1088 |       pub fn bucket_stats(&self) -> (usize, usize, usize) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buggu_rand_range` is never used
[INFO] [stdout]    --> src/utils/buggu_random_generator.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn buggu_rand_range(state: &mut u64, min: u64, max: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:843:18
[INFO] [stdout]     |
[INFO] [stdout] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<'_, K, V> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:1066:22
[INFO] [stdout]      |
[INFO] [stdout] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<K, V> {
[INFO] [stdout]      |                      ^^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      this lifetime flows to the output
[INFO] [stdout]      |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]      |
[INFO] [stdout] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<'_, K, V> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:1076:21
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stdout]      |                     ^^^^^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this lifetime flows to the output
[INFO] [stdout]      |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<'_, K, V> {
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "d179ca3a076ce4d0b4503eb111176193b02eacbc098c7c4b593831832c9ea0be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d179ca3a076ce4d0b4503eb111176193b02eacbc098c7c4b593831832c9ea0be", kill_on_drop: false }`
[INFO] [stdout] d179ca3a076ce4d0b4503eb111176193b02eacbc098c7c4b593831832c9ea0be
[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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c50f32d9746491e82bbfd07b3fdf19272b9e790faf23083a7b147fe2eb53a16
[INFO] running `Command { std: "docker" "start" "-a" "8c50f32d9746491e82bbfd07b3fdf19272b9e790faf23083a7b147fe2eb53a16", kill_on_drop: false }`
[INFO] [stderr]    Compiling buggu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/logdb.rs:471:25
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn parse_query(q: &str, config: &LogConfig) -> QueryNode {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_info`
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:846:13
[INFO] [stdout]     |
[INFO] [stdout] 846 |         let entry_info: Option<usize> = {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/config.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LogConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub max_postings: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub stale_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub log_levels: BugguHashSet<u64, u8>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub services: BugguHashSet<u64, u8>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub enable_ngrams: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub max_ngram_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub enable_patterns: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/config.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl LogConfig {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn from_file(path: &str) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn log_level_priority(&self, level: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn service_id(&self, service: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn register_service(&mut self, service: &str) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn should_index_level(&self, level: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn log_level_hashes(&self) -> Vec<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn service_hashes(&self) -> Vec<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn add_log_level(&mut self, level: &str, priority: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn has_log_level_priority(&self, priority: u8) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn stats(&self) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tokens`, `level`, and `service` are never read
[INFO] [stdout]   --> src/logdb.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MetaEntry {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 28 |     /// The sequence of tokens generated from the document's content.
[INFO] [stdout] 29 |     tokens: Vec<Tok>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     /// The log level, if specified (e.g., "INFO", "ERROR").
[INFO] [stdout] 31 |     level: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     /// The service name, if specified.
[INFO] [stdout] 33 |     service: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaEntry` 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: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/logdb.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     NumericRange(&'static str, u64, u64),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^  ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 51 -     NumericRange(&'static str, u64, u64),
[INFO] [stdout] 51 +     NumericRange((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Or` and `Not` are never constructed
[INFO] [stdout]   --> src/logdb.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum QueryNode {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 57 |     Or(Vec<QueryNode>),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 58 |     /// A logical NOT operation, excluding documents that match the child node.
[INFO] [stdout] 59 |     Not(Box<QueryNode>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryNode` 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: fields `max_postings` and `stale_secs` are never read
[INFO] [stdout]   --> src/logdb.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct LogDB {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     max_postings: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     /// The time in seconds after which a document is considered stale.
[INFO] [stdout] 83 |     stale_secs: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogDB` 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 `remove`, `empty`, and `retain_docs` are never used
[INFO] [stdout]    --> src/logdb.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl Posting {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn remove(&mut self, id: DocId) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn empty(&self) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn retain_docs(&mut self, docs: &BugguHashSet<DocId, MetaEntry>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/logdb.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl LogDB {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn with_config(config: LogConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn from_config_file(path: &str) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn query_with_meta(&self, q: &str) -> Vec<(DocId, String, Option<String>, Option<String>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn cleanup_stale(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn rebuild_indexes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn upsert_token(&mut self, s: impl AsRef<str>) -> Tok {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn export_tokens(&self) -> Vec<Tok> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn import_tokens(&mut self, toks: Vec<Tok>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BugguIterMut` is never constructed
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct BugguIterMut<'a, K, V> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | / impl<'a, K, V> BugguIterMut<'a, K, V>
[INFO] [stdout] 243 | | where
[INFO] [stdout] 244 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 245 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |       fn new(storage: &'a mut [BugguBucket<K, V>], remaining: usize) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct BugguOccupiedEntry<'a, K, V>
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 339 |     key: K,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `or_insert`, `key`, and `and_modify` are never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:363:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | / impl<'a, K, V> BugguEntry<'a, K, V>
[INFO] [stdout] 357 | | where
[INFO] [stdout] 358 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 359 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 363 |       pub fn or_insert(self, default: V) -> &'a mut V {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |       pub fn and_modify<F>(self, f: F) -> Self
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key`, `get`, `get_mut`, and `insert` are never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | / impl<'a, K, V> BugguOccupiedEntry<'a, K, V>
[INFO] [stdout] 408 | | where
[INFO] [stdout] 409 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 410 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 414 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |       pub fn get(&self) -> &V {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 435 |       pub fn get_mut(&mut self) -> &mut V {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |       pub fn insert(&mut self, value: V) -> V {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:477:12
[INFO] [stdout]     |
[INFO] [stdout] 470 | / impl<'a, K, V> BugguVacantEntry<'a, K, V>
[INFO] [stdout] 471 | | where
[INFO] [stdout] 472 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 473 | |     V: Clone + Default,
[INFO] [stdout]     | |_______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 477 |       pub fn key(&self) -> &K {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:577:12
[INFO] [stdout]      |
[INFO] [stdout] 551  | / impl<K, V> BugguHashSet<K, V>
[INFO] [stdout] 552  | | where
[INFO] [stdout] 553  | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stdout] 554  | |     V: Clone + Default,
[INFO] [stdout]      | |_______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 577  |       pub fn retain<F>(&mut self, mut f: F)
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 651  |       pub fn fast_intersect_slice(&self, keys: &[K]) -> Vec<K> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 675  |       pub fn create_index_for<F, V2>(&self, field_extractor: F) -> BugguHashSet<V2, Vec<K>>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713  |       pub fn intersect_to_set(&self, other: &BugguHashSet<K, V>) -> BugguHashSet<K, ()>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 918  |       pub fn remove(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983  |       pub fn update(&mut self, key: &K, value: V) -> Option<V> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1012 |       pub fn get_mut(&mut self, key: &K) -> Option<&mut V> {
[INFO] [stdout]      |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1076 |       pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stdout]      |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1081 |       pub fn insert_batch(&mut self, items: Vec<(K, V)>) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1088 |       pub fn bucket_stats(&self) -> (usize, usize, usize) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buggu_rand_range` is never used
[INFO] [stdout]    --> src/utils/buggu_random_generator.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn buggu_rand_range(state: &mut u64, min: u64, max: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/utils/buggu_hash_set.rs:843:18
[INFO] [stdout]     |
[INFO] [stdout] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<'_, K, V> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:1066:22
[INFO] [stdout]      |
[INFO] [stdout] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<K, V> {
[INFO] [stdout]      |                      ^^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      this lifetime flows to the output
[INFO] [stdout]      |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]      |
[INFO] [stdout] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<'_, K, V> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]     --> src/utils/buggu_hash_set.rs:1076:21
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stdout]      |                     ^^^^^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this lifetime flows to the output
[INFO] [stdout]      |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<'_, K, V> {
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "8c50f32d9746491e82bbfd07b3fdf19272b9e790faf23083a7b147fe2eb53a16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c50f32d9746491e82bbfd07b3fdf19272b9e790faf23083a7b147fe2eb53a16", kill_on_drop: false }`
[INFO] [stdout] 8c50f32d9746491e82bbfd07b3fdf19272b9e790faf23083a7b147fe2eb53a16
[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 -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 82b3615367cdac5b51a6f538abb1c8b86a256c72ab63d82c7117889e6cacb965
[INFO] running `Command { std: "docker" "start" "-a" "82b3615367cdac5b51a6f538abb1c8b86a256c72ab63d82c7117889e6cacb965", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]    --> src/logdb.rs:471:25
[INFO] [stderr]     |
[INFO] [stderr] 471 | fn parse_query(q: &str, config: &LogConfig) -> QueryNode {
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entry_info`
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:846:13
[INFO] [stderr]     |
[INFO] [stderr] 846 |         let entry_info: Option<usize> = {
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_info`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/config.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct LogConfig {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub max_postings: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub stale_secs: u64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub log_levels: BugguHashSet<u64, u8>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub services: BugguHashSet<u64, u8>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub enable_ngrams: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub max_ngram_size: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub enable_patterns: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LogConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/config.rs:93:12
[INFO] [stderr]     |
[INFO] [stderr] 80  | impl LogConfig {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 93  |     pub fn from_file(path: &str) -> io::Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |     pub fn log_level_priority(&self, level: &str) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn service_id(&self, service: &str) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn register_service(&mut self, service: &str) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn should_index_level(&self, level: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn log_level_hashes(&self) -> Vec<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn service_hashes(&self) -> Vec<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn add_log_level(&mut self, level: &str, priority: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     pub fn has_log_level_priority(&self, priority: u8) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 201 |     pub fn stats(&self) -> String {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tokens`, `level`, and `service` are never read
[INFO] [stderr]   --> src/logdb.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct MetaEntry {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 28 |     /// The sequence of tokens generated from the document's content.
[INFO] [stderr] 29 |     tokens: Vec<Tok>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 30 |     /// The log level, if specified (e.g., "INFO", "ERROR").
[INFO] [stderr] 31 |     level: Option<String>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 32 |     /// The service name, if specified.
[INFO] [stderr] 33 |     service: Option<String>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/logdb.rs:51:18
[INFO] [stderr]    |
[INFO] [stderr] 51 |     NumericRange(&'static str, u64, u64),
[INFO] [stderr]    |     ------------ ^^^^^^^^^^^^  ^^^  ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `QueryNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 51 -     NumericRange(&'static str, u64, u64),
[INFO] [stderr] 51 +     NumericRange((), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Or` and `Not` are never constructed
[INFO] [stderr]   --> src/logdb.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub enum QueryNode {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 57 |     Or(Vec<QueryNode>),
[INFO] [stderr]    |     ^^
[INFO] [stderr] 58 |     /// A logical NOT operation, excluding documents that match the child node.
[INFO] [stderr] 59 |     Not(Box<QueryNode>),
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `QueryNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_postings` and `stale_secs` are never read
[INFO] [stderr]   --> src/logdb.rs:81:5
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub struct LogDB {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 81 |     max_postings: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 82 |     /// The time in seconds after which a document is considered stale.
[INFO] [stderr] 83 |     stale_secs: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LogDB` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove`, `empty`, and `retain_docs` are never used
[INFO] [stderr]    --> src/logdb.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 101 | impl Posting {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 136 |     fn remove(&mut self, id: DocId) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     fn empty(&self) -> bool {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     fn retain_docs(&mut self, docs: &BugguHashSet<DocId, MetaEntry>) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/logdb.rs:213:12
[INFO] [stderr]     |
[INFO] [stderr] 196 | impl LogDB {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 213 |     pub fn with_config(config: LogConfig) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub fn from_config_file(path: &str) -> std::io::Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 311 |     pub fn query_with_meta(&self, q: &str) -> Vec<(DocId, String, Option<String>, Option<String>)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 324 |     pub fn cleanup_stale(&mut self) {}
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 327 |     pub fn rebuild_indexes(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 451 |     pub fn upsert_token(&mut self, s: impl AsRef<str>) -> Tok {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 458 |     pub fn export_tokens(&self) -> Vec<Tok> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 463 |     pub fn import_tokens(&mut self, toks: Vec<Tok>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BugguIterMut` is never constructed
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:235:12
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub struct BugguIterMut<'a, K, V> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:248:8
[INFO] [stderr]     |
[INFO] [stderr] 242 | / impl<'a, K, V> BugguIterMut<'a, K, V>
[INFO] [stderr] 243 | | where
[INFO] [stderr] 244 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stderr] 245 | |     V: Clone + Default,
[INFO] [stderr]     | |_______________________- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 248 |       fn new(storage: &'a mut [BugguBucket<K, V>], remaining: usize) -> Self {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `key` is never read
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:339:5
[INFO] [stderr]     |
[INFO] [stderr] 334 | pub struct BugguOccupiedEntry<'a, K, V>
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 339 |     key: K,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `or_insert`, `key`, and `and_modify` are never used
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:363:12
[INFO] [stderr]     |
[INFO] [stderr] 356 | / impl<'a, K, V> BugguEntry<'a, K, V>
[INFO] [stderr] 357 | | where
[INFO] [stderr] 358 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stderr] 359 | |     V: Clone + Default,
[INFO] [stderr]     | |_______________________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 363 |       pub fn or_insert(self, default: V) -> &'a mut V {
[INFO] [stderr]     |              ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 384 |       pub fn key(&self) -> &K {
[INFO] [stderr]     |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 393 |       pub fn and_modify<F>(self, f: F) -> Self
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `key`, `get`, `get_mut`, and `insert` are never used
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:414:12
[INFO] [stderr]     |
[INFO] [stderr] 407 | / impl<'a, K, V> BugguOccupiedEntry<'a, K, V>
[INFO] [stderr] 408 | | where
[INFO] [stderr] 409 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stderr] 410 | |     V: Clone + Default,
[INFO] [stderr]     | |_______________________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 414 |       pub fn key(&self) -> &K {
[INFO] [stderr]     |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |       pub fn get(&self) -> &V {
[INFO] [stderr]     |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 435 |       pub fn get_mut(&mut self) -> &mut V {
[INFO] [stderr]     |              ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 465 |       pub fn insert(&mut self, value: V) -> V {
[INFO] [stderr]     |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `key` is never used
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:477:12
[INFO] [stderr]     |
[INFO] [stderr] 470 | / impl<'a, K, V> BugguVacantEntry<'a, K, V>
[INFO] [stderr] 471 | | where
[INFO] [stderr] 472 | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stderr] 473 | |     V: Clone + Default,
[INFO] [stderr]     | |_______________________- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 477 |       pub fn key(&self) -> &K {
[INFO] [stderr]     |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/utils/buggu_hash_set.rs:577:12
[INFO] [stderr]      |
[INFO] [stderr] 551  | / impl<K, V> BugguHashSet<K, V>
[INFO] [stderr] 552  | | where
[INFO] [stderr] 553  | |     K: BugguHashable + Eq + PartialEq + Clone + Default,
[INFO] [stderr] 554  | |     V: Clone + Default,
[INFO] [stderr]      | |_______________________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 577  |       pub fn retain<F>(&mut self, mut f: F)
[INFO] [stderr]      |              ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 651  |       pub fn fast_intersect_slice(&self, keys: &[K]) -> Vec<K> {
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 675  |       pub fn create_index_for<F, V2>(&self, field_extractor: F) -> BugguHashSet<V2, Vec<K>>
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 713  |       pub fn intersect_to_set(&self, other: &BugguHashSet<K, V>) -> BugguHashSet<K, ()>
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 918  |       pub fn remove(&mut self, key: &K) -> Option<V> {
[INFO] [stderr]      |              ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 983  |       pub fn update(&mut self, key: &K, value: V) -> Option<V> {
[INFO] [stderr]      |              ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1012 |       pub fn get_mut(&mut self, key: &K) -> Option<&mut V> {
[INFO] [stderr]      |              ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1076 |       pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stderr]      |              ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1081 |       pub fn insert_batch(&mut self, items: Vec<(K, V)>) {
[INFO] [stderr]      |              ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1088 |       pub fn bucket_stats(&self) -> (usize, usize, usize) {
[INFO] [stderr]      |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `buggu_rand_range` is never used
[INFO] [stderr]    --> src/utils/buggu_random_generator.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub fn buggu_rand_range(state: &mut u64, min: u64, max: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/utils/buggu_hash_set.rs:843:18
[INFO] [stderr]     |
[INFO] [stderr] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<K, V> {
[INFO] [stderr]     |                  ^^^^^^^^^             ---------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 843 |     pub fn entry(&mut self, key: K) -> BugguEntry<'_, K, V> {
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]     --> src/utils/buggu_hash_set.rs:1066:22
[INFO] [stderr]      |
[INFO] [stderr] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<K, V> {
[INFO] [stderr]      |                      ^^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]      |                      |
[INFO] [stderr]      |                      this lifetime flows to the output
[INFO] [stderr]      |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]      |
[INFO] [stderr] 1066 |     pub fn iter_keys(&self) -> BugguKeyIterator<'_, K, V> {
[INFO] [stderr]      |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]     --> src/utils/buggu_hash_set.rs:1076:21
[INFO] [stderr]      |
[INFO] [stderr] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<K, V> {
[INFO] [stderr]      |                     ^^^^^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     this lifetime flows to the output
[INFO] [stderr]      |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]      |
[INFO] [stderr] 1076 |     pub fn iter_mut(&mut self) -> BugguIterMut<'_, K, V> {
[INFO] [stderr]      |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: `buggu` (lib test) generated 21 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/buggu-7686d956f2128823)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "82b3615367cdac5b51a6f538abb1c8b86a256c72ab63d82c7117889e6cacb965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82b3615367cdac5b51a6f538abb1c8b86a256c72ab63d82c7117889e6cacb965", kill_on_drop: false }`
[INFO] [stdout] 82b3615367cdac5b51a6f538abb1c8b86a256c72ab63d82c7117889e6cacb965
