[INFO] fetching crate kotoba-projection-engine 0.1.21...
[INFO] testing kotoba-projection-engine-0.1.21 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate kotoba-projection-engine 0.1.21 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate kotoba-projection-engine 0.1.21
[INFO] finished tweaking crates.io crate kotoba-projection-engine 0.1.21
[INFO] tweaked toml for crates.io crate kotoba-projection-engine 0.1.21 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kotoba-projection-engine 0.1.21 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kotoba-projection-engine 0.1.21 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7588e8bed7fdbd4c8e5218266482b3406c266214e666b2eae4907b11e852c880
[INFO] running `Command { std: "docker" "start" "-a" "7588e8bed7fdbd4c8e5218266482b3406c266214e666b2eae4907b11e852c880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7588e8bed7fdbd4c8e5218266482b3406c266214e666b2eae4907b11e852c880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7588e8bed7fdbd4c8e5218266482b3406c266214e666b2eae4907b11e852c880", kill_on_drop: false }`
[INFO] [stdout] 7588e8bed7fdbd4c8e5218266482b3406c266214e666b2eae4907b11e852c880
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b45902bec82c25a29c819d51ab31f61384d44d2b185f58b2e4bb4a65ee046b18
[INFO] running `Command { std: "docker" "start" "-a" "b45902bec82c25a29c819d51ab31f61384d44d2b185f58b2e4bb4a65ee046b18", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling time v0.3.43
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling indexmap v2.11.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling kotoba-errors v0.1.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling fraction v0.13.1
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling metrics v0.23.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling kotoba-storage v0.1.22
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling kotoba-core v0.1.21
[INFO] [stderr]    Compiling kotoba-event-stream v0.1.21
[INFO] [stderr]    Compiling kotoba-ocel v0.1.21
[INFO] [stderr]    Compiling kotoba-projection-engine v0.1.21 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `Context`
[INFO] [stdout]   --> src/lib.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{Result, Context};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/lib.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/lib.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/event_processor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/event_processor.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/event_processor.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StreamExt` and `self`
[INFO] [stdout]   --> src/event_processor.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter` and `histogram`
[INFO] [stdout]   --> src/event_processor.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use metrics::{counter, histogram};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/materializer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/view_manager.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/view_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/view_manager.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/storage.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `instrument`, and `warn`
[INFO] [stdout]  --> src/storage.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/cache_integration.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter`, `gauge`, and `histogram`
[INFO] [stdout]  --> src/metrics.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use metrics::{counter, histogram, gauge};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/event_processor.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             processor: Box::new(move |event: EventEnvelope| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]   --> src/materializer.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/materializer.rs:95:59
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_def`
[INFO] [stdout]   --> src/view_manager.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let view_def = ViewDefinition {
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/view_manager.rs:76:40
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub async fn get_projection(&self, name: &str) -> Result<Option<ViewDefinition>> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:310:43
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub async fn query_projections(&self, query: serde_json::Value) -> Result<serde_json::Value> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `definition`
[INFO] [stdout]    --> src/lib.rs:420:52
[INFO] [stdout]     |
[INFO] [stdout] 420 |     async fn validate_projection_definition(&self, definition: &ProjectionDefinition) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_definition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/lib.rs:303:40
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub async fn process_events(&self, events: Vec<EventEnvelope>) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:328:59
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub async fn query_view(&self, projection_name: &str, query: ViewQuery) -> Result<ViewResult> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `materializer` and `batch_size` are never read
[INFO] [stdout]   --> src/event_processor.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct EventProcessor<T: KeyValueStore> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 20 |     /// Materializer for processing events
[INFO] [stdout] 21 |     materializer: Arc<Materializer<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     batch_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `event_types`, and `processor` are never read
[INFO] [stdout]   --> src/event_processor.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct ProjectionHandler {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 34 |     /// Projection name
[INFO] [stdout] 35 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     /// Event types this projection handles
[INFO] [stdout] 37 |     event_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Processing function
[INFO] [stdout] 39 |     processor: Box<dyn Fn(EventEnvelope) -> Result<()> + Send + Sync>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `active_tasks` is never read
[INFO] [stdout]   --> src/materializer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Materializer<T: KeyValueStore> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     active_tasks: Arc<DashMap<String, MaterializationTask>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `projection_name`, `status`, and `start_time` are never read
[INFO] [stdout]   --> src/materializer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct MaterializationTask {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 29 |     /// Task ID
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 31 |     /// Projection name
[INFO] [stdout] 32 |     projection_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     /// Task status
[INFO] [stdout] 34 |     status: TaskStatus,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     /// Start time
[INFO] [stdout] 36 |     start_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MaterializationTask` 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: variants `Running`, `Completed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/materializer.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum TaskStatus {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 42 |     Running,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     Completed,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `views` is never read
[INFO] [stdout]   --> src/view_manager.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ViewManager {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 16 |     /// Active views
[INFO] [stdout] 17 |     views: HashMap<String, ViewDefinition>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.60s
[INFO] running `Command { std: "docker" "inspect" "b45902bec82c25a29c819d51ab31f61384d44d2b185f58b2e4bb4a65ee046b18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b45902bec82c25a29c819d51ab31f61384d44d2b185f58b2e4bb4a65ee046b18", kill_on_drop: false }`
[INFO] [stdout] b45902bec82c25a29c819d51ab31f61384d44d2b185f58b2e4bb4a65ee046b18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1224b6de59c01a356da33cb84d2cb1815ac89193bdad8832ca1510d6f357bbdb
[INFO] running `Command { std: "docker" "start" "-a" "1224b6de59c01a356da33cb84d2cb1815ac89193bdad8832ca1510d6f357bbdb", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `Context`
[INFO] [stdout]   --> src/lib.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{Result, Context};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/lib.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/lib.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/event_processor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/event_processor.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/event_processor.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StreamExt` and `self`
[INFO] [stdout]   --> src/event_processor.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter` and `histogram`
[INFO] [stdout]   --> src/event_processor.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use metrics::{counter, histogram};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/materializer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/view_manager.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/view_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/view_manager.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/storage.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `instrument`, and `warn`
[INFO] [stdout]  --> src/storage.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/cache_integration.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter`, `gauge`, and `histogram`
[INFO] [stdout]  --> src/metrics.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use metrics::{counter, histogram, gauge};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/event_processor.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             processor: Box::new(move |event: EventEnvelope| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]   --> src/materializer.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/materializer.rs:95:59
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_def`
[INFO] [stdout]   --> src/view_manager.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let view_def = ViewDefinition {
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/view_manager.rs:76:40
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub async fn get_projection(&self, name: &str) -> Result<Option<ViewDefinition>> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:310:43
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub async fn query_projections(&self, query: serde_json::Value) -> Result<serde_json::Value> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `definition`
[INFO] [stdout]    --> src/lib.rs:420:52
[INFO] [stdout]     |
[INFO] [stdout] 420 |     async fn validate_projection_definition(&self, definition: &ProjectionDefinition) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_definition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/lib.rs:303:40
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub async fn process_events(&self, events: Vec<EventEnvelope>) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:328:59
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub async fn query_view(&self, projection_name: &str, query: ViewQuery) -> Result<ViewResult> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `materializer` and `batch_size` are never read
[INFO] [stdout]   --> src/event_processor.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct EventProcessor<T: KeyValueStore> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 20 |     /// Materializer for processing events
[INFO] [stdout] 21 |     materializer: Arc<Materializer<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     batch_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `event_types`, and `processor` are never read
[INFO] [stdout]   --> src/event_processor.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct ProjectionHandler {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 34 |     /// Projection name
[INFO] [stdout] 35 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     /// Event types this projection handles
[INFO] [stdout] 37 |     event_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Processing function
[INFO] [stdout] 39 |     processor: Box<dyn Fn(EventEnvelope) -> Result<()> + Send + Sync>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `active_tasks` is never read
[INFO] [stdout]   --> src/materializer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Materializer<T: KeyValueStore> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     active_tasks: Arc<DashMap<String, MaterializationTask>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `projection_name`, `status`, and `start_time` are never read
[INFO] [stdout]   --> src/materializer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct MaterializationTask {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 29 |     /// Task ID
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 31 |     /// Projection name
[INFO] [stdout] 32 |     projection_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     /// Task status
[INFO] [stdout] 34 |     status: TaskStatus,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     /// Start time
[INFO] [stdout] 36 |     start_time: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MaterializationTask` 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: variants `Running`, `Completed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/materializer.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum TaskStatus {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 42 |     Running,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     Completed,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `views` is never read
[INFO] [stdout]   --> src/view_manager.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ViewManager {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 16 |     /// Active views
[INFO] [stdout] 17 |     views: HashMap<String, ViewDefinition>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kotoba-projection-engine v0.1.21 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `tempfile`
[INFO] [stdout]    --> src/lib.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     use tempfile::tempdir;
[INFO] [stdout]     |         ^^^^^^^^ use of unresolved module or unlinked crate `tempfile`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `tempfile`, use `cargo add tempfile` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `Context`
[INFO] [stdout]   --> src/lib.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{Result, Context};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/lib.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/lib.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/event_processor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/event_processor.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/event_processor.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StreamExt` and `self`
[INFO] [stdout]   --> src/event_processor.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter` and `histogram`
[INFO] [stdout]   --> src/event_processor.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use metrics::{counter, histogram};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/materializer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/view_manager.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/view_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/view_manager.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]    |                     ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/storage.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `instrument`, and `warn`
[INFO] [stdout]  --> src/storage.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error, instrument};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/cache_integration.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `counter`, `gauge`, and `histogram`
[INFO] [stdout]  --> src/metrics.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use metrics::{counter, histogram, gauge};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `materializer::Materializer<T>` in the current scope
[INFO] [stdout]    --> src/event_processor.rs:239:51
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let materializer = Arc::new(Materializer::default());
[INFO] [stdout]     |                                                   ^^^^^^^ function or associated item not found in `materializer::Materializer<_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/materializer.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct Materializer<T: KeyValueStore> {
[INFO] [stdout]     | ----------------------------------------- function or associated item `default` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `materializer::Materializer<_>`, consider using `materializer::Materializer::<T>::new` which returns `materializer::Materializer<_>`
[INFO] [stdout]    --> src/materializer.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     pub fn new(
[INFO] [stdout]  63 | |         storage: Arc<T>,
[INFO] [stdout]  64 | |         prefix: String,
[INFO] [stdout]  65 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `materializer::Materializer<T>` in the current scope
[INFO] [stdout]    --> src/event_processor.rs:249:51
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let materializer = Arc::new(Materializer::default());
[INFO] [stdout]     |                                                   ^^^^^^^ function or associated item not found in `materializer::Materializer<_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/materializer.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct Materializer<T: KeyValueStore> {
[INFO] [stdout]     | ----------------------------------------- function or associated item `default` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `materializer::Materializer<_>`, consider using `materializer::Materializer::<T>::new` which returns `materializer::Materializer<_>`
[INFO] [stdout]    --> src/materializer.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     pub fn new(
[INFO] [stdout]  63 | |         storage: Arc<T>,
[INFO] [stdout]  64 | |         prefix: String,
[INFO] [stdout]  65 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `materializer::Materializer<T>` in the current scope
[INFO] [stdout]    --> src/event_processor.rs:261:51
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let materializer = Arc::new(Materializer::default());
[INFO] [stdout]     |                                                   ^^^^^^^ function or associated item not found in `materializer::Materializer<_>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/materializer.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct Materializer<T: KeyValueStore> {
[INFO] [stdout]     | ----------------------------------------- function or associated item `default` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `materializer::Materializer<_>`, consider using `materializer::Materializer::<T>::new` which returns `materializer::Materializer<_>`
[INFO] [stdout]    --> src/materializer.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     pub fn new(
[INFO] [stdout]  63 | |         storage: Arc<T>,
[INFO] [stdout]  64 | |         prefix: String,
[INFO] [stdout]  65 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/event_processor.rs:273:51
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let result = processor.process_batch(vec![event]).await;
[INFO] [stdout]     |                                                   ^^^^^ expected `OcelEvent`, found `Value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/event_processor.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             processor: Box::new(move |event: EventEnvelope| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]   --> src/materializer.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/materializer.rs:95:59
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub async fn process_event(&self, event_type: String, event: EventEnvelope) -> Result<()> {
[INFO] [stdout]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_def`
[INFO] [stdout]   --> src/view_manager.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let view_def = ViewDefinition {
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/view_manager.rs:76:40
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub async fn get_projection(&self, name: &str) -> Result<Option<ViewDefinition>> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:310:43
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub async fn query_projections(&self, query: serde_json::Value) -> Result<serde_json::Value> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `definition`
[INFO] [stdout]    --> src/lib.rs:420:52
[INFO] [stdout]     |
[INFO] [stdout] 420 |     async fn validate_projection_definition(&self, definition: &ProjectionDefinition) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_definition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/lib.rs:303:40
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub async fn process_events(&self, events: Vec<EventEnvelope>) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/lib.rs:328:59
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub async fn query_view(&self, projection_name: &str, query: ViewQuery) -> Result<ViewResult> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/lib.rs:486:13
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let config = ProjectionConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/lib.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let config = ProjectionConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kotoba-projection-engine` (lib test) due to 5 previous errors; 28 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1224b6de59c01a356da33cb84d2cb1815ac89193bdad8832ca1510d6f357bbdb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1224b6de59c01a356da33cb84d2cb1815ac89193bdad8832ca1510d6f357bbdb", kill_on_drop: false }`
[INFO] [stdout] 1224b6de59c01a356da33cb84d2cb1815ac89193bdad8832ca1510d6f357bbdb
