[INFO] cloning repository https://github.com/ALIMH84/logforge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ALIMH84/logforge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f3c33deb8d8ca2d66ce97fc1371b0df47eeb181
[INFO] checking ALIMH84/logforge against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ALIMH84/logforge
[INFO] finished tweaking git repo https://github.com/ALIMH84/logforge
[INFO] tweaked toml for git repo https://github.com/ALIMH84/logforge written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ALIMH84/logforge on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ALIMH84/logforge 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f
[INFO] running `Command { std: "docker" "start" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking crossterm v0.26.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking toml_edit v0.19.15
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]     Checking toml v0.7.8
[INFO] [stderr]     Checking ratatui v0.25.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking rusqlite v0.30.0
[INFO] [stderr]     Checking logforge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stdout]  --> src/alerts/mod.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::domain::{Alert, AlertRule};
[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: `commands::AppCommand`
[INFO] [stdout]  --> src/app/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use commands::AppCommand;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::AppController`
[INFO] [stdout]  --> src/app/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use controller::AppController;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::AppEvent`
[INFO] [stdout]  --> src/app/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use events::AppEvent;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::AppState`
[INFO] [stdout]  --> src/app/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use state::AppState;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `loader::ConfigLoader`
[INFO] [stdout]  --> src/config/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use loader::ConfigLoader;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stdout]  --> src/config/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `level::LogLevel`
[INFO] [stdout]  --> src/domain/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use level::LogLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextSearchMode`
[INFO] [stdout]  --> src/filter/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stdout]  --> src/ingest/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use file_watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stdout]  --> src/report/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stdout]  --> src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use sqlite::SqliteStorage;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]   --> src/main.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stdout]  --> src/alerts/mod.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::domain::{Alert, AlertRule};
[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: `commands::AppCommand`
[INFO] [stdout]  --> src/app/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use commands::AppCommand;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::AppController`
[INFO] [stdout]  --> src/app/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use controller::AppController;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::AppEvent`
[INFO] [stdout]  --> src/app/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use events::AppEvent;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::AppState`
[INFO] [stdout]  --> src/app/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use state::AppState;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `loader::ConfigLoader`
[INFO] [stdout]  --> src/config/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use loader::ConfigLoader;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stdout]  --> src/config/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `level::LogLevel`
[INFO] [stdout]  --> src/domain/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use level::LogLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextSearchMode`
[INFO] [stdout]  --> src/filter/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stdout]  --> src/ingest/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use file_watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stdout]  --> src/report/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stdout]  --> src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use sqlite::SqliteStorage;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]   --> src/main.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stdout]   --> src/alerts/evaluator.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AlertEvaluator {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is 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: method `process` is never used
[INFO] [stdout]   --> src/alerts/evaluator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AlertEvaluator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches` is never used
[INFO] [stdout]  --> src/alerts/rules.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl AlertRule {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppCommand` is never used
[INFO] [stdout]  --> src/app/commands.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum AppCommand {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppEvent` is never used
[INFO] [stdout]  --> src/app/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AppEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Search` and `Filters` are never constructed
[INFO] [stdout]   --> src/app/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` 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 `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stdout]   --> src/app/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub alerts: Vec<Alert>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub status_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub should_quit: bool,
[INFO] [stdout] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]  --> src/domain/session.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Session {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/domain/session.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Session {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Regex` is never constructed
[INFO] [stdout]  --> src/filter/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TextSearchMode {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 6 |     Plain,
[INFO] [stdout] 7 |     Regex,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TextSearchMode` 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: struct `FileWatcher` is never constructed
[INFO] [stdout]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FileWatcher;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `watch` is never used
[INFO] [stdout]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FileWatcher {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stdout]   --> src/stats/aggregator.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub errors_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub warnings_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatsSnapshot` 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: struct `SqliteStorage` is never constructed
[INFO] [stdout]  --> src/storage/sqlite.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SqliteStorage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stdout]   --> src/storage/sqlite.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SqliteStorage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stdout]   --> src/alerts/evaluator.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AlertEvaluator {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is 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: method `process` is never used
[INFO] [stdout]   --> src/alerts/evaluator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AlertEvaluator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches` is never used
[INFO] [stdout]  --> src/alerts/rules.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl AlertRule {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppCommand` is never used
[INFO] [stdout]  --> src/app/commands.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum AppCommand {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppEvent` is never used
[INFO] [stdout]  --> src/app/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AppEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Search` and `Filters` are never constructed
[INFO] [stdout]   --> src/app/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` 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 `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stdout]   --> src/app/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub alerts: Vec<Alert>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub status_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub should_quit: bool,
[INFO] [stdout] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]  --> src/domain/session.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Session {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/domain/session.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Session {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Regex` is never constructed
[INFO] [stdout]  --> src/filter/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TextSearchMode {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 6 |     Plain,
[INFO] [stdout] 7 |     Regex,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TextSearchMode` 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: struct `FileWatcher` is never constructed
[INFO] [stdout]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FileWatcher;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `watch` is never used
[INFO] [stdout]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FileWatcher {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stdout]   --> src/stats/aggregator.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub errors_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub warnings_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatsSnapshot` 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: struct `SqliteStorage` is never constructed
[INFO] [stdout]  --> src/storage/sqlite.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SqliteStorage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stdout]   --> src/storage/sqlite.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SqliteStorage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `tempfile`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | tempfile = "3.9"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tempfile`
[INFO] [stderr] warning: `logforge` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.58s
[INFO] running `Command { std: "docker" "inspect" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f", kill_on_drop: false }`
[INFO] [stdout] 43dcd9bd161857ef409c5b93d73d8fa96b1840b01222ad0a8819e6b6f56cd96f
